df -i
报告
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/simfs 300000 250697 49303 84% /
因此大约有 250K 个 inode 正在使用中。
du -shx --inodes /
报告 70K
为了确保没有 inode 被隐藏在挂载后面,我测试了
mkdir /mnt/test/
mount --bind / /mnt/test/
du -shx --inodes /mnt/test/
那也报告了70K。
那么其余的人去哪了?失踪了约18万(250%)。
我还能做哪些测试?我需要询问 OpenVZ 支持吗?如果需要,应该问什么?
如果有用的话,mount
报告
/vz/private/1210881 开启 / 类型 simfs (rw,relatime,usrquota,grpquota)
答案1
您有一个 OpenVZ“服务器”,它实际上并不是真正的虚拟机 - 它是一个容器。使用 OpenVZ,主机资源在所有容器之间共享,并由同一个操作系统内核控制。内核强制控制容器化进程能够看到哪些资源以及不能看到哪些资源。不幸的是,在许多情况下,从用户的角度来看,他们这样做的方式并不是最理想的。
OpenVZ 因此类事情而臭名昭著 - 用户(比如你自己)思考他们有一个合适的虚拟机并假设他们可以像与标准系统一样与它进行交互,并且当这样的统计数据与他们的预期不符时他们常常感到困惑。
我对 OpenVZ 不够熟悉,无法权威地判断您所看到的是否是 OpenVZ 容器的产物,但我有相当高的信心,事实确实如此。出于这个原因以及许多其他原因,我建议切换到使用适当虚拟化技术的提供商(KVM 是这里的明显选择,但也有很多使用 Xen 的可靠提供商)。