pmap命令用于查看进程内存相关信息:
- pmap pid #pid为进程id,可通过ps命令获取
- 6030: ./main
- 0000000000400000 4K r-x-- main
- 0000000000600000 4K r---- main
- 0000000000601000 4K rw--- main
- 00000000017d2000 132K rw--- [ anon ]
- 00007fc3843e8000 1792K r-x-- libc-2.23.so
- 00007fc3845a8000 2048K ----- libc-2.23.so
- 00007fc3847a8000 16K r---- libc-2.23.so
- 00007fc3847ac000 8K rw--- libc-2.23.so
- 00007fc3847ae000 16K rw--- [ anon ]
- 00007fc3847b2000 152K r-x-- ld-2.23.so
- 00007fc3849b9000 12K rw--- [ anon ]
- 00007fc3849d7000 4K r---- ld-2.23.so
- 00007fc3849d8000 4K rw--- ld-2.23.so
- 00007fc3849d9000 4K rw--- [ anon ]
- 00007ffcf2018000 132K rw--- [ stack ]
- 00007ffcf2175000 12K r---- [ anon ]
- 00007ffcf2178000 8K r-x-- [ anon ]
- ffffffffff600000 4K r-x-- [ anon ]
- total 4356K
我们可以根据进程各部分占用空间情况,来不断优化我们的程序。
查看虚拟内存统计信息--vmstat
- vmstat
- procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
- r b swpd free buff cache si so bi bo in cs us sy id wa st
- 1 0 0 2214960 407828 2572148 0 0 126 57 377 1006 8 2 88 2 0
vmstat的输出值能够帮助我们了解当前系统的性能。比如说,如果si(每秒从交换区写到内存的大小)和so(每秒写入交换区的内存大小)的值经常大于0,说明内存可能不够用,因此才需要用到交换空间。再比如说,us(用户进程执行时间百分比)的值比较高时,说明用户进程消耗的CPU资源较多。而wa(IO等待时间百分比)值较高时,说明IO等待情况严重。
查看ip地址--ip
有时候使用ifconfig命令并不一定能够看到所有的ip地址,因此可以使用:
- ip addr
查看网络连接状态--netstat
netstat命令可以查看网络连接状态,通常用于诊断网络相关问题。例如查看端口是否被占用,连接是否已经释放,服务是否在监听等等。
查看进程间关系--pstree
通过pstree命令可以看到进程间的父子关系,它以树形结构显示这些信息:
- pstree
- systemd─┬─ModemManager─┬─{gdbus}
- │ └─{gmain}
- ├─NetworkManager─┬─dhclient
- │ ├─dnsmasq
- │ ├─{gdbus}
- │ └─{gmain}
- ├─accounts-daemon─┬─{gdbus}
- │ └─{gmain}
- ├─acpid
- ├─atd
- ├─avahi-daemon───avahi-daemon
- ├─bluetoothd
- ├─colord─┬─{gdbus}
- │ └─{gmain}
- ├─cron
- ├─cups-browsed─┬─{gdbus}
- │ └─{gmain}
- ├─cupsd───3*[dbus]
- ├─dbus-daemon
- ├─gnome-keyring-d─┬─{gdbus}
- │ ├─{gmain}
- │ └─{timer}
- (仅显示部分内容)
总结 (编辑:甘孜站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|