从事IT基础架构多年,发现自己原来更合适去当老师……喜欢关注新鲜事物,不仅限于IT领域。
分类:
2007-01-25 15:57:00
1: 使用top指令.
top指令是按cpu占用率排序的,如果想一次获得所有进程的快照,使用命令
top -n [最大进程数] -f 输出到文件,比如top -n 1000 -f topsnapshot.log
top指令输出内存的统计信息包括
Memory: 2614368K (2249100K) real, 5838616K (5264696K) virtual, 113028K free Page# 1/1
其中没有括号起来的是总数,括号括起来的部分是活动进程使用的内存数,free则是真实空闲的物理内存数.
进程信息的列包括
CPU TTY PID USERNAME PRI NI SIZE RES STATE TIME %WCPU %CPU COMMAND
和内存相关的只有SIZE和RES
SIZE:任务的代码加上数据再加上栈空间的大小。
RES:任务使用的物理内存的总数量
要检查进程是否有内存泄露,和实际占用的内存大小,看RES列即可.
这里要说下,在HP-UX系统下,top的内存大小显示是不准的-_-
2:检查共享内存占用的内存容量
使用ipcs -m -b命令,-m表示检查共享内存,-b表示输出每个内存的字节数,得到的共享内存信息输出列包括:
T ID KEY MODE OWNER GROUP SEGSZ
SEGSZ列则是字节数.把每列相加则是共享内存占用的内存总数.
3: 调整内核动态高速缓冲区参数
HP-UX某些型号的服务器运行的时候需要几乎1G的内存维持系统运行,比如作为设备缓冲什么的.
可以用kmtune命令检查内核配置参数,动态高速缓冲区参数dbc_min_pct 和 dbc_max_pct参数表示一个高速缓冲区允许的可用内存的最小和最大百分比,dbc_max_pct的缺省值是50,一般设置为10即可.
4:在HP-UX上还可以使用glance
glance是个很强的工具,可以清楚的看到内存的情况,当然它不是免费的。