我在 solaris 上运行 ps 命令来获取 SZ 和 RSS 值,下面是示例输出
USER-PID-%CPU-%MEM-SZ-RSS-TT-S-START-
root-3-0.1-0.0-0-0-?-S-Feb-
qacom2-7440-0.0-0.0-3912-3344-pts/7-O-13:25:22-
root-6589-0.0-0.15985621000-?-S-Feb-08-1309:34-
如果您看到此输出,对于 PID 6589,SZ 为“?” 而 RSS 为“S”,这到底表示什么?
答案1
我不知道您从哪里得到了包含所有 - 的输出,但您查看的是错误的列。“?”在 TT(又名 tty)列中,而“S”在“state”列中。
例如在这一行:
qacom2-7440-0.0-0.0-3912-3344-pts/7-O-13:25:22-
用户 = qacom2、pid = 7440、%CPU = 0.0、%MEM = 0.0、RSS= 3912、SZ = 3344
不幸的是,在下面这一行中,列大小似乎已经溢出,因此您无法分辨列边界在哪里:
root-6589-0.0-0.15985621000-?-S-Feb-08-1309:34-
用户 = root、pid = 6589、%CPU = 0.0、%MEM = 0.1、RSS 和 SZ 一起运行 = 5985621000
答案2
SZ 是进程地址空间的总大小。RSS
是进程地址空间的驻留大小(即地址空间中保存在内存中的部分的大小)。
来源 :http://oreilly.com/catalog/spt2/chapter/ch04.html
部分:检查进程的内存使用情况