webmin 内存使用情况似乎不正确

webmin 内存使用情况似乎不正确

我将查看 webmin 中正在运行的进程列表,似乎我的应用程序的内存使用情况是错误的。

例如,

mysql 253956 kB /usr/sbin/mysqld

这相当于大约 256+兆字节。

问题在于,它还报告说我的服务器上的 RAM 没有用完,只有 256 兆字节可用。

据我了解,大写字母 B = 字节,小写字母 b = 位。

我甚至编写了一个在这里运行的程序,它说它使用了将近 200 MB 的空间,但这是不可能的。

知道为什么这些数字相差很大吗?或者它们可能指的是千比特,而不是千字节?

如果有帮助的话,我在 RackSpace 上运行 64 位 Ubuntu 11.04 服务器。

谢谢。

答案1

这取决于它使用什么读数来提取内存计数。现代操作系统中的内存管理并不像您最初想象的那么简单!

例如,如果你从读取内存读数top VIRT几乎总是明显大于RES(见类似这样的文章(搜索top vert res shr)以了解更详细的讨论)。webmin 报告的virt值很可能包括与其他进程共享的内存(仅加载到实际内存中一次但映射到多个进程的虚拟地址空间的库代码)和已分配但尚未使用的内存(它在进程虚拟地址空间中可用,但尚未为其分配实际 RAM 或交换页面)。

也有可能部分分配给的内存当前已换出到磁盘,输出是否free表明有交换空间正在使用?

From what I understand a capitol B = Bytes, and a lowercase b=bits.

不幸的是,虽然许多人在写作时会做出这种区分,但这并不是“真正的”标准,因此不能依赖它。除非明确说明位/字节,否则不幸的是,您需要使用上下文来尝试确定意图。当从操作系统的角度报告内存和格式化的驱动器空间时Bb几乎总是引用字节而不是位。

相关内容