我正在运行一个Mac XServe作为一个专用的apache预叉服务器,内存为8GB。作为调优过程的一部分(我对此还不熟悉),我正在尝试为MaxClients提供最佳价值。为此,我使用“top”来求出平均进程大小,但我不确定哪个值表示http进程的实际内存大小:“RSIZE”或“RPRVT”
这些价值观有什么不同?谢谢你的帮助。
发布于 2010-11-25 19:54:14
根据:
http://macosx.com/forums/mac-os-x-system-mac-software/12720-top-command-questions.html
RSIZE =总驻留内存。可以与其他进程共享。
RPRVT =驻留私有内存。
根据这一命令:
http://www.manpagez.com/man/1/top/osx-10.5.php
MemRegions
内存区域的数量和总大小,以及被分解为私有(分为非库和库)和共享组件的内存区域的总大小。
另一个有趣的链接是:
http://lists.apple.com/archives/darwin-dev/2007/Nov/msg00132.html
发布于 2010-11-26 11:08:06
dmah的回答在技术上是正确的,但关键是,您可以从“top”中显示的每个进程的数据中判断出共享了多少内存。
当计算出MaxClients应该是什么时,这不是开始的地方。
复杂的是,系统将使用尽可能多的空闲内存用于I/O缓存--因此,查看未使用的内存也不能给出非常准确的数字!
在Linux上,有一个命令'免费‘,它报告内存使用情况,包括和不使用I/O缓冲/缓存,但我不知道这在Mac上是否可用。我使用了由此返回的数字和httpd进程的数量来计算MaxClients应该是什么(直到它达到I/O缓存受到严重影响的水平,这种关系是相当线性的)。但是如果没有procfs,我怀疑它会像为您的机器重新编译它一样简单。
在顶部(或系统-vmstat)的BSD上,它报告缓冲区的使用情况以及页面顶部的总内存状态--是MacOS吗?
https://serverfault.com/questions/206115
复制相似问题