[问题]查看linux内存使用情况
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
- zongzw
- 帖子: 94
- 注册时间: 2008-03-31 16:12
[问题]查看linux内存使用情况
使用一段时间之后,发现linux内存使用率蛮高的
如何查看linux内存的使用情况,确认到底是什么进程或内核模块占用了大量的内存?
Thanks.
如何查看linux内存的使用情况,确认到底是什么进程或内核模块占用了大量的内存?
Thanks.
-
- 帖子: 2841
- 注册时间: 2006-09-11 22:47
你可以搜一下,这个问题曾经有过深入的讨论,其结论是:zongzw 写了:能不能察看某一个特定的模块占用多少内存。
目前没有任何一个软件可以准确的查看出某个特定模块真实占用的内存。因为所有程序都会使用动态库,而动态库占用的内存包含“共享部分”与“私有部分”,其比例是不定的。
通常来说,比较可靠的办法是先使用 free -m 查看真实的应用程序占用:
$ free -m
total used free shared buffers cached
Mem: 1002 975 26 0 178 434
-/+ buffers/cache: 362 639
Swap: 1427 0 1427
如上面这个结果表明应用程序占用362M内存,然后使用top查看占用最高的进程:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6347 poet 15 0 54620 18m 13m S 0 1.9 0:12.96 yakuake
9506 poet 15 0 2316 1184 880 R 0 0.1 0:00.03 top
1 root 18 0 2912 1844 524 S 0 0.2 0:01.97 init
这里的 RES 基本上是一个比较具有代表性的值,当然它并不准确。看到它的PID是6347, 使用下面的命令:
$ cat /proc/6347/status
可以进行详细的研究。
- guiwen1158
- 帖子: 1078
- 注册时间: 2008-05-11 11:10
- 来自: 深圳
- 联系:
- guiwen1158
- 帖子: 1078
- 注册时间: 2008-05-11 11:10
- 来自: 深圳
- 联系:
-
- 帖子: 2841
- 注册时间: 2006-09-11 22:47
- 想入非非
- 帖子: 8078
- 注册时间: 2008-07-14 22:42
- 来自: Beijing
- 联系:
- CLOCKWORKHEART
- 帖子: 635
- 注册时间: 2007-11-05 19:26
-
- 帖子: 13
- 注册时间: 2007-11-28 22:17
- 来自: Shandong
- 联系:
- yysq009
- 帖子: 2682
- 注册时间: 2007-01-28 23:00
- 来自: @江西|南昌@
- 联系:
- apollooooooo
- 帖子: 133
- 注册时间: 2008-09-13 19:33