Ral*_*Wen 9 osx top ps iphone ios
我知道 VSZ inps是为应用程序分配的总地址空间,有时别名为 vsize(ps在 linux 的手册页中提到),但是 VSIZE in 的定义是什么top?iPhone 上的这个 top 输出与 Linux 上的 top 不同:
PID COMMAND %CPU TIME #TH #PRTS #MREGS RPRVT RSHRD RSIZE VSIZE
1875 emma 0.0% 0:30.83 7 139 932 17868K 5328K 29M 181M
root# ps -eo pid,rss,vsz|grep 1875
1875 29324 441324
Run Code Online (Sandbox Code Playgroud)
Linux内存系统充满了许多内存优化实用程序和内存共享的例程,使得内存如何共享和消耗的想法非常麻烦。 ps和其他ps相关命令的输出都是从数据中得出的输出在/proc文件系统下。特别ps, RSS(resident size memory) 和 VSIZE(Virtual memory size) 都很重要,但是 VSIZE 并没有显示内存的准确使用情况, VSIZE 和 rss 之间的区别是在初始化过程中实际打算分配给程序的,但是可能还没有被引用。就像程序可能链接了很多库,但它们还没有加载,因为它们在实际程序运行时还没有被引用。RSS 给出了程序实际使用的总内存,但可能无法给出内存消耗的真实情况,因为分配的大部分内存可能与同一进程或其他进程的其他实例共享。往下看/proc/<processid>/maps可能会粗略地了解内存是如何使用的,但它们有时会产生误导。用pmap -x <pid> 从命令行,查看扩展很有用。
通常更好的实用程序是free和vmstat。free将为您提供当前的总体内存消耗详细信息,并且 vmstat 可用于查看更新频率。