Linux如何查看进程吃掉了多少内存?

(你有新消息) Linux如何查看进程吃掉了多少内存? - 乐维UP


0
1530705e5b3e2717eaf4c34f8215db0b847702
,乐维程序员

Linux如何查看进程吃掉了多少内存?

有的时候需要查看某个程序内部一些好内存的东西,比如一个webgame的场景服务器,里面有了一些开源的库,如何确定这些库耗费的内存?

如何将服务器里面最好内存的一些程序?

 
还没有相关评论

共 1 个答案


1
1530705e5b3e2717eaf4c34f8215db0b847702
,乐维程序员

确定某个进程耗费的内存

pmap process_id

详细可以查看man page

eg.

[neo@localhost]$ pmap 19040
19040:   /usr/local/bin/redis-server /etc/redis/redis.conf
0000000000400000    228K r-x--  /usr/local/bin/redis-server
0000000000639000      8K rw---  /usr/local/bin/redis-server
000000000063b000     80K rw---    [ anon ]
000000000a1dc000  29556K rw---    [ anon ]
00000038d2a00000    112K r-x--  /lib64/ld-2.5.so
00000038d2c1c000      4K r----  /lib64/ld-2.5.so
00000038d2c1d000      4K rw---  /lib64/ld-2.5.so
00000038d3a00000   1336K r-x--  /lib64/libc-2.5.so
00000038d3b4e000   2048K -----  /lib64/libc-2.5.so
00000038d3d4e000     16K r----  /lib64/libc-2.5.so
00000038d3d52000      4K rw---  /lib64/libc-2.5.so
00000038d3d53000     20K rw---    [ anon ]
00000038d4200000    520K r-x--  /lib64/libm-2.5.so
00000038d4282000   2044K -----  /lib64/libm-2.5.so
00000038d4481000      4K r----  /lib64/libm-2.5.so
00000038d4482000      4K rw---  /lib64/libm-2.5.so
00000038d4600000     88K r-x--  /lib64/libpthread-2.5.so
00000038d4616000   2044K -----  /lib64/libpthread-2.5.so
00000038d4815000      4K r----  /lib64/libpthread-2.5.so
00000038d4816000      4K rw---  /lib64/libpthread-2.5.so
00000038d4817000     16K rw---    [ anon ]
00002b4070c68000      4K rw---    [ anon ]
00002b4070c89000    416K rw---    [ anon ]
00007ffff1883000     84K rw---    [ stack ]
ffffffffff600000   8192K -----    [ anon ]
 total            46840K

这是一个redis的进程,可以看到程序的耗费内存的情况

Linux 的top、ps、htop都可以查看某个进程的耗费内存的情况

找出服务器内最耗费内存的一些进程,下面这行one line

[neo@localhost]$  ps aux | awk '{print $2, $4, $11}' | sort -k2rn | head -n 20
2509 4.0 /Applications/Skype.app/Contents/MacOS/Skype
2246 3.2 /Applications/Google
2543 2.6 /Applications/Google
2530 2.1 /Applications/Google
2527 1.8 /Applications/Google
30 1.8 /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Support/mds
2464 1.7 /Applications/Google
58 1.7 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreGraphics.framework/Resources/WindowServer
2320 1.5 /Applications/QQ.app/Contents/MacOS/QQ
2307 1.4 /Applications/Google
2520 1.4 /Applications/Google
2537 1.3 /Applications/Google
2525 1.2 /Applications/Google
139 1.1 /usr/local/mysql/bin/mysqld
2523 0.9 /Applications/Google
2260 0.8 /Applications/Google
278 0.8 /System/Library/Input
2255 0.7 /Applications/Google
2256 0.7 /Applications/Google
2258 0.7 /Applications/Google

我的系统是mac的,最耗费内存的就是chrome

顺便说下,chrome的每个tab都是一个process,而firefox是每个tab一个thread,谁好谁坏?!用了才知道

原文地址:https://www.cnblogs.com/lexus/p/2396698.html