UNIX上的进程大小

sac*_*hin 26 unix size

什么是获得进程大小的正确方法Solaris, HP-UXAIX?我们应该用top或者ps -o vsz还是其他什么东西?

Joh*_*usa 17

确切的定义vsize,rss,rprvt,rshrd,等晦涩的前瞻性缩写有所不同操作系统操作系统.topps命令的手册页将有某种描述,但所有这些描述都大大简化(或基于长期灭绝的内核实现).
在一般情况下,作为一个概念的"过程规模"非常难以确定.特定实例中的答案在很大程度上取决于操作系统中的实际内存管理实现,并且很少像大多数用户(以及大多数开发人员)心目中存在的整洁的"进程大小"概念那样令人满意.

例如,这些数字(也不可能是它们的任何组合)都不能用于告诉您在给定数量的可用内存中可以一次运行多少个此类进程.但实际上,你最好的选择就是从那个目的出发:为什么你想要这个号码,你会用它做什么?鉴于这些信息,我认为你会得到更多有用的答案.


小智 5

在Solaris上,您可以使用该pmap命令获取有关进程内存使用情况的详细信息.特别是,pmap -x <pid>向您显示共享进程内存的多少以及该进程专门使用的内存量.这对于计算进程的"边际"内存使用非常有用 - 使用此技术可以避免重复计算共享库.