在 Solaris 中查找进程的物理内存详细信息的命令
Posted
技术标签:
【中文标题】在 Solaris 中查找进程的物理内存详细信息的命令【英文标题】:command to find physical memory details of a process in Solaris 【发布时间】:2011-08-24 05:22:45 【问题描述】:如何在 Solaris 中找到一个进程(例如 sched 进程)的总物理内存和可用物理内存。有没有可用的命令?请举个例子。
【问题讨论】:
您可以改为查看 ServerFault。那是 sysadmin / UNIX 问题的站点。不要把你推开,你可能会有更好的运气。 serverfault.com top 命令用于 linux 而不是用于 solaris 属于unix.stackexchange.com top 在 Solaris 上也可以在 pkg://solaris/diagnostic/top 包中使用(尽管 prstat(1m) 可能更好地集成) 【参考方案1】:要知道总的 Solaris 可用内存使用情况
havoc@h100:~$ prtconf -v|grep Mem
Memory size: 3326 Megabytes
要显示“进程”内存,您必须使用“pmap”命令,如手册页所述
display information about the address space of a process
例如,如果我们有 PostgreSQL DB (5057) 的进程 ID (pid),您可以使用“-x”标志检查“扩展”信息,如
havoc@h100:~$ pfexec pmap -x 5057
5057: /u01/app/postgres/9.0/db/bin/64/postgres -D /var/postgres/9.0/data
Address Kbytes RSS Anon Locked Mode Mapped File
0000000000400000 5248 3648 - - r-x-- postgres
000000000092F000 52 52 24 - rw--- postgres
000000000093C000 384 40 12 - rw--- postgres
000000000099C000 536 432 304 - rw--- [ heap ]
FFFFFD7FFE320000 112 24 - - r-x-- libz.so.1
FFFFFD7FFE34B000 4 4 - - rw--- libz.so.1
FFFFFD7FFE34D000 12 12 - - r-x-- libpthread.so.1
FFFFFD7FFE350000 188 44 - - r-x-- libgss.so.1
FFFFFD7FFE38F000 4 4 - - rw--- libgss.so.1
FFFFFD7FFE390000 4 - - - rw--- libgss.so.1
FFFFFD7FFE3A0000 1612 484 - - r-x-- libcrypto.so.0.9.8
FFFFFD7FFE543000 144 140 - - rw--- libcrypto.so.0.9.8
FFFFFD7FFE567000 8 - - - rw--- libcrypto.so.0.9.8
FFFFFD7FFE570000 340 132 - - r-x-- libssl.so.0.9.8
FFFFFD7FFE5D5000 24 24 - - rw--- libssl.so.0.9.8
FFFFFD7FFE5E0000 36 16 - - r-x-- libpam.so.1
FFFFFD7FFE5F9000 4 4 - - rw--- libpam.so.1
FFFFFD7FFE600000 1468 252 - - r-x-- libxml2.so.2
FFFFFD7FFE77E000 48 48 - - rw--- libxml2.so.2
FFFFFD7FFE790000 260 64 - - r-x-- libxslt.so.1
FFFFFD7FFE7E0000 8 8 - - rw--- libxslt.so.1
FFFFFD7FFE830000 68 48 - - r-x-- libsocket.so.1
FFFFFD7FFE851000 4 4 - - rw--- libsocket.so.1
FFFFFD7FFE860000 560 436 - - r-x-- libnsl.so.1
FFFFFD7FFE8FC000 12 12 - - rw--- libnsl.so.1
FFFFFD7FFE8FF000 28 20 - - rw--- libnsl.so.1
FFFFFD7FFE940000 60 48 - - r-x-- methods_unicode.so.3
FFFFFD7FFE95E000 8 8 - - rw--- methods_unicode.so.3
FFFFFD7FFE960000 5328 348 - - r-x-- es_ES.UTF-8.so.3
FFFFFD7FFEEA3000 8 8 - - rw--- es_ES.UTF-8.so.3
FFFFFD7FFEEB0000 464 288 - - r-x-- libm.so.2
FFFFFD7FFEF33000 8 8 - - rw--- libm.so.2
FFFFFD7FFF073000 4 4 - - rwxs- [ anon ]
FFFFFD7FFF080000 64 8 - - rwx-- [ anon ]
FFFFFD7FFF0A0000 64 64 - - rwx-- [ anon ]
FFFFFD7FFF0C0000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF0D0000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF0E0000 24 20 4 - rwx-- [ anon ]
FFFFFD7FFF0F0000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF100000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF110000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF120000 1664 1560 - - r-x-- libc.so.1
FFFFFD7FFF2C0000 48 48 24 - rw--- libc.so.1
FFFFFD7FFF2CC000 8 8 8 - rw--- libc.so.1
FFFFFD7FFF2D0000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF2E0000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF2F0000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF300000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF310000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF320000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF330000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF340000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF350000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF360000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF370000 4 4 - - rw--- [ anon ]
FFFFFD7FFF380000 4 4 - - rw--- [ anon ]
FFFFFD7FFF390000 4 4 - - rwx-- [ anon ]
FFFFFD7FFF393000 348 288 - - r-x-- ld.so.1
FFFFFD7FFF3FA000 12 12 4 - rwx-- ld.so.1
FFFFFD7FFF3FD000 8 8 - - rwx-- ld.so.1
FFFFFD7FFFDEB000 84 84 16 - rw--- [ stack ]
---------------- ---------- ---------- ---------- ----------
total Kb 19444 8836 396 -
希望对你有用,
乌尔科,
【讨论】:
【参考方案2】:总物理内存:
prtconf | head -1
可用的物理和虚拟内存:
vmstat 2 2
swap -s
顺便说一下,“sched”并不是真正的进程,而是内核。
【讨论】:
以上是关于在 Solaris 中查找进程的物理内存详细信息的命令的主要内容,如果未能解决你的问题,请参考以下文章
Android 内存优化dumpsys meminfo PID 查看单进程内存信息详解