- 论坛徽章:
- 0
|
solaris中,内存利用率主要看哪个指示,要一个确切的数值?
或许有,没见过,我的体会是:
Unix系统运行时, 不会有很多free的momory,即可查出类似60%利用率指标等,因为所有所谓的空闲内存,如60%等,你也不会看到空闲,全部被系统作为buffer cache使用了,如内存中数据的和描述数据的cache用以加快文件系统的读写,不断变动,所以一般见不到空闲内存,60%等指标看内存意义不大,也未必真实,所以实际操作中往往用命令间接看:
如系统中实际运行的内核是什么, 有多少,内存位置等:
% modinfo
Id Loadaddr Size Info Rev Module Name
0 1000000 b9f58 - 0 unix ()
1 10704c8 1d20a - 0 krtld ()
...
203 7bb54010 1d70 52 1 shmsys (32-bit System V shared memory)
204 7bfd0de8 1280 - 1 ipc (common ipc code)
具体内核是什么:
% kstat |more
module: bge instance: 0
name: bge0 class: net
align_errors 0
...
内存分配情况:
# sar -k 1
SunOS yanxihu 5.9 Generic_112233-05 sun4u 09/18/2003
16:30:49 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail
16:30:50 6201600 5306868 0 70565888 65089424 0 15441920 0
各进程占内存情况:
% prstat
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
1898 zw125158 340M 219M sleep 50 0 0:27:30 21% soffice.bin/4
2569 zw125158 234M 123M sleep 49 0 0:38:09 8.1% firefox-bin/4
536 zw125158 131M 110M sleep 59 0 0:44:53 4.2% Xsun/1
...
每进程占内存,如代码,数据,堆栈等:
# pmap 814
814: netscape
00010000 16K read/exec /usr/dt/appconfig/netscape/netscape
00022000 16K read/write/exec /usr/dt/appconfig/netscape/netscape
00026000 168K read/write/exec [ heap ]
FEE30000 16K read/exec /usr/lib/libmp.so.2
...
FF3E2000 8K read/write/exec /usr/lib/ld.so.1
FFBE8000 32K read/write/exec [ stack ]
total 4624K
系统取数据时读写cache的命中率等:
# sar -b 3 100
SunOS s17a 5.8 Generic_108528-09 sun4u 04/03/02
14:46:58 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
14:47:01 0 0 100 0 0 100 0 0
14:47:04 0 0 100 0 0 100 0 0
14:47:07 0 0 100 1 1 0 0 0
系统内存的读入读出扫描速度等:
% vmstat 2
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr s0 s3 s8 s1 in sy cs us sy id
0 0 0 3134976 1100640 4 27 4 1 0 0 0 0 0 0 0 321 1251 535 1 1 98
0 0 0 3059392 876224 3 13 58 0 0 0 0 0 0 0 0 396 2313 832 9 1 89
基本是看个大概,不知谁能综合所有命令和分析,做个大家都认可的工具,有些free的工具,但好像也没有能看到如60%的指标,或许跟Unix原理有关,谁再多补充些? |
|