Linux查看进程内存状况
查看全部進程
通過top或ps -ef | grep '進程名' 得到進程的PID。該命令可以提供進程狀態、文件句柄數、內存使用情況等信息。
#pa aux
先查看進程
nginx的工作進程是5757
?
pmap命令
可以顯示一個或多個進程所使用的內存數量。你可以使用這個工具來了解服務器上的某個進程分配了多少內存,輸出進程內存的狀況,可以用來分析線程堆棧。
#pmap 進程id
可以看出加載的動態鏈接庫信息。
?
要得到更加詳細的信息,使用pmap -d選項
?
proc查看進程狀態
?
查看經常地址空間信息
#cat /proc/進程ip/maps
?
查看全部內存信息
cat /proc/meminfo
查看cpu的配置信息
cat /proc/cpuinfo
它能顯示諸如CPU核心數,時鐘頻率、CPU型號等信息
?
監控進程線程數
ps -eLf | grep?進程 | wc -l
監控網絡客戶連接數
netstat -n | grep tcp | grep 偵聽端口 | wc -l
#netstat -n | grep tcp | grep 80 | wc -l
#ps -eLf | grep nginx | wc -l
?
vmstat
vmstat是一個十分有用的Linux系統監控工具,使用vmstat命令可以得到關于進程、內存、內存分頁、堵塞IO、traps及CPU活動的信息
#vmstat -s -S M
該可以查看包含內存每個項目的報告,通過-S M或-S k可以指定查看的單位,默認為kb。
?
每N秒輸出一條結果
#vmstat 2
字段說明:
Procs(進程):
r: 運行隊列中進程數量
b: 等待IO的進程數量
Memory(內存):
swpd: 使用虛擬內存大小
free: 可用內存大小
buff: 用作緩沖的內存大小
cache: 用作緩存的內存大小
Swap:
si: 每秒從交換區寫到內存的大小
so: 每秒寫入交換區的內存大小
IO:(現在的Linux版本塊的大小為1024bytes)
bi: 每秒讀取的塊數
bo: 每秒寫入的塊數
系統:
in: 每秒中斷數,包括時鐘中斷。
cs: 每秒上下文切換數。
CPU(以百分比表示):
us: 用戶進程執行時間(user time)
sy: 系統進程執行時間(system time)
id: 空閑時間(包括IO等待時間)
wa: 等待IO時間
?
顯示活躍和非活躍內存
使用-a選項顯示活躍和非活躍內存時,所顯示的內容除增加inact和active外,其他顯示內容與前一個例子相同。
字段說明:
Memory(內存):
inact: 非活躍內存大小(當使用-a選項時顯示)
active: 活躍的內存大小(當使用-a選項時顯示)
?
nux查看多核CPU利用率
總結
以上是生活随笔為你收集整理的Linux查看进程内存状况的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux查看多核CPU利用率
- 下一篇: TCMalloc