标签: openvz

“echo 3 > /proc/sys/vm/drop_caches” - 以 root 身份拒绝权限

我目前在缓存方面遇到了一些问题。现在有点太多了,所以我想清除它。我用谷歌搜索并找到了这个小命令:sync && echo 3 > /proc/sys/vm/drop_caches.
我通过 SSH 以 root 身份登录(不使用 sudo)。这些是我所做的尝试:

root@server: ~ # ll /proc/sys/vm/drop_caches
-rw-r--r-- 1 root root 0 15. Jan 20:21 /proc/sys/vm/drop_caches

root@server: ~ # echo 3 > /proc/sys/vm/drop_caches
-bash: /proc/sys/vm/drop_caches: Permission denied

root@server: ~ # sudo su -c "echo 3 > /proc/sys/vm/drop_caches"
bash: /proc/sys/vm/drop_caches: Permission denied

root@server: ~ # echo 3 | sudo tee /proc/sys/vm/drop_caches
tee: /proc/sys/vm/drop_caches: Permission denied
3
Run Code Online (Sandbox Code Playgroud)

它是一台运行 Debian 的远程机器。据我所知,这台机器中有一些 vCore,它使用 Virtuozzo 进行虚拟化。
我真的只想清除缓存(所以我只能使用 SSH 访问它)
我也尝试将其注册为 cronjob。但它也只是失败了!

linux permissions proc virtualization openvz

41
推荐指数
4
解决办法
11万
查看次数

将进程的所有交换内存从交换中拉出

如何在不写入磁盘的情况下快速将进程的所有交换内存从交换中拉出?

这个问题的背景是微不足道的,因为需要这个问题的系统性问题正在由其他各方处理。但是,现在,我遇到了一个问题,我经常不得不在负载和 IO 等待非常高的情况下释放 OpenVZ 节点上的交换空间。

交换通常主要由运行在单个容器上的少数 MySQL 和 clamd 进程消耗。重新启动这些服务可以释放交换并解决节点上的问题,但由于显而易见的原因,这是不可取的。

我正在寻找一种方法,当节点过载并且需要比我当前的方法更快的东西时,可以快速从这些进程中释放交换:

unswap(){ [[ $1 && $(ls /proc/$1/maps) ]]  && ((gcore -o /tmp/deleteme $1 &>/dev/null; rm -fv /tmp/deleteme.$1)&) 2>/dev/null  || echo "must provide valid pid";};unswap
Run Code Online (Sandbox Code Playgroud)

此核心转储强制访问所有 ram,从而完成将其从交换区中拉出的工作,但我尚未找到避免将其写入文件的方法。此外,如果我可以隔离当前交换的地址范围并将该部分转储到 /dev/null,该过程似乎会更快,但我还没有找到一种方法来做到这一点。

这是一个巨大的节点,所以通常的 swapoff/swapon 方法非常耗时,而且节点的配置不在我的控制之下,所以修复根本原因不是这个问题的一部分。但是,任何有关如何在不杀死/重新启动任何东西的情况下快速释放大部分交换的见解将不胜感激。

环境:CentOS 6.7/OpenVZ

稍后可能会偶然发现此问题的任何人的更新:

使用 Jlong 的输入,我创建了以下函数:

unswap(){ (awk -F'[ \t-]+' '/^[a-f0-9]*-[a-f0-9]* /{recent="0x"$1" 0x"$2}/Swap:/&&$2>0{print recent}' /proc/$1/smaps | while read astart aend; do gdb --batch --pid $1 -ex "dump memory /dev/null $astart $aend" &>/dev/null; done&)2>/dev/null;};
Run Code Online (Sandbox Code Playgroud)

它有点慢,但完全按照这里的要求执行。可能可以通过仅查找交换中的最大地址范围并省略微不足道的小区域的迭代来提高速度,但前提是合理的。

工作示例:

#Find the process with …
Run Code Online (Sandbox Code Playgroud)

process centos swap openvz

10
推荐指数
1
解决办法
1389
查看次数

在 OpenVZ 中安装 VirtualBox - 缺少源

我正在尝试将 VirtualBox 安装在我得到了很多优惠的异地 OpenVZ 实例中。重点是为某种 Windows Server 运行一个小的 Windows XP 机器。

  • 是的,这是一个实验。
  • 不,它不是用于生产。

似乎一切正常,但安装程序找不到我的发行版来源。我的实例安装了 Debian 6。跑步uname -r给了我2.6.32-042stab061.2。我已经查看了我的 apt-cache 中的任何类似内容,尝试安装 linux-sources-2.6.32 和各种 linux-headers,但我没有运气。

有谁知道我如何获得此实例的正确来源,以便 VirtualBox 可以自行编译?谢谢。

debian virtualbox openvz

9
推荐指数
2
解决办法
5978
查看次数

性能不佳的 Java 应用程序与性能不佳的服务器

这是一个非常笼统的问题,但对我来说它越来越频繁地出现。我想尝试为这个通用案例确定一个适当的行动方案,因为我认为它可以在未来使我和其他系统管理员受益。尽管在所有情况下的共同点是 java。我在这里问这个问题而不是堆栈溢出的原因是这是一个系统管理员问题。我觉得这里很合适。

一个用户走到我面前说“我的应用程序很慢。你给我的服务器性能很差。” 该服务器可以是裸机、OpenVZ 或 KVM。在所有情况下,操作系统都是 CentOS 6。当用户告诉我这一点时,他们指的是页面加载时间 (JIRA) 或基准数字。(硒或专有应用程序)

现在,我偷偷怀疑服务器本身没问题。我ssh到服务器上,注意到负载小于 1。内存使用也很好,范围从 2 到 20 演出免费 ram 不等。最后,我查看iowaitvmstat,注意到它是 0。cpu idle 是 99。

查看带有 的 Java top,我可以看到该进程的 CPU 百分比约为 200% 左右。这是在具有 4 到 24 个内核的系统上。

当然,openvz处理器分配是否与 KVM 或裸机不同。)如果这发生在一个openvzkvm来宾上,我也会跳到主机上,并看到类似的事情。cpu空闲是99%。iowait 为 0。内存有时有数百个免费演出。

我用strace, 和strace -f. 有大量的 futex、时钟和epoll. 如果我反转 grep 那些,我只剩下 ioctl、stat、sendto。

发生这种情况的应用程序:Selenium、JIRA 和 misc 专有的 Java 应用程序。虽然总是java。

我已经考虑过调整 java 进程的 niceness,但是 AFAIK niceness 只会影响进程的调度方式。如果负载较低,则无助于加快速度。 …

kvm centos java openvz

7
推荐指数
1
解决办法
2370
查看次数

Why buffers equals to used memory?

I'm using Ubuntu 11.10, virtualized by OpenVZ. That output of free -m shows that buffers is always equal to used.

             total       used       free     shared    buffers     cached
Mem:          2048       1079        968          0          0          0
-/+ buffers/cache:       1079        968
Swap:            0          0          0
Run Code Online (Sandbox Code Playgroud)

Is that the reason I can't run a java virtual machine, although there's 968mb of free memory?

linux memory openvz

5
推荐指数
1
解决办法
621
查看次数

ping 没有收到数据包,但是 tcpdump 可以看到它们进来

我正在将旧的 Ubuntu OpenVZ 实例(Jaunty)迁移到新的 CentOS 6.3 主机(使用 vzdump/vzrestore)。

现在网络不能正常工作。事实:

  • 如果设置一个新的 OpenVZ 实例,它就可以正常工作。
  • 我可以很好地连接到旧实例,但它无法连接到外部。
  • 它无法 ping 主机,也无法执行其他任何操作。
  • 我已经清除了主机上和 VE 内的所有 iptables 规则。

平:

root@dolores:/# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
^C
--- 8.8.8.8 ping statistics ---
11 packets transmitted, 0 received, 100% packet loss, time 9999ms
Run Code Online (Sandbox Code Playgroud)

同时在VE内:

17:49:12.730360 IP dolores > 8.8.8.8: ICMP echo request, id 59701, seq 1, length 64
17:49:12.735095 IP 8.8.8.8 > dolores: ICMP echo reply, id 59701, seq 1, length 64
17:49:13.730305 IP dolores …
Run Code Online (Sandbox Code Playgroud)

linux networking ubuntu centos openvz

5
推荐指数
1
解决办法
9026
查看次数

对挂载点使用符号链接

是否可以在挂载点上设置符号链接?我有一个挂载点 /vz。当我ln -s /var/lib/vz /vz的结果是,我有一个目录VZ在我的挂载点/ VZ,因此,我有/vz/vz。有什么办法可以防止这种情况吗?

mount symlink openvz

2
推荐指数
1
解决办法
2万
查看次数

为什么我在 KVM 中看到的进程比在 OpenVZ 中多?

我有一个 512mb Centos 6 VPS 在 KVM 上运行。现在来自组织的另一个 VPS。我管理正在 OVZ 上运行。

当我在 KVM 上键入 top 时,我会得到所有排序进程的完整列表。但是当我在 OVZ one 中这样做时,我只能得到大约 20,这是正常的。

那么我如何关闭所有这些(不必要的?)进程并保持干净呢?下面是 top 现在的样子:

最佳

linux process kvm openvz

2
推荐指数
1
解决办法
438
查看次数