我在生产环境中有一个 python 应用程序(在 CentOS 6.2/Python 2.6.6 上)占用了:
800M VIRT / 15M RES / 2M SHR
在 (Fedora 16/Python 2.7.2) 上运行的同一应用“仅”占用:
56M VIRT / 15M RES / 2M SHR
这是一个问题吗? 这种差异的解释是什么? 我想知道使用如此大的虚拟内存是否会随时出错?
请您参考如下方法:
应用程序做什么?它使用什么库?这些机器之间还有什么不同?很难给出一个笼统的答案。
VIRT 值表示进程以某种方式从操作系统请求了多少内存。但是 Linux 在这方面是懒惰的:在进程尝试用它做某事之前,内存实际上不会分配给进程。
RES 值表示有多少内存实际驻留在 RAM 中并且当前正在被进程使用。这不包括尚未被进程触及或已换出到磁盘的页面。由于这两个过程的 RES 值很小且相同,因此可能没有什么可担心的。
