我們經常需要查看 CPU和內存占用率,否則一旦存在情況很快就會有IDC(或客戶)找上門,Linux上查看資源使用情況有多種命令可以參考,CPU、內存、IO、NETWORK等資源使用情況都可以通過某些命令查詢到,本文只說CPU/內存及簡單的問題追蹤方法。
一、top查看Linux資源占用情況
top命令可以查看CPU、內存利用率,當然這些值都是平均利用率,以下是安裝APACHE+PHP+MYSQL后的運行情況,示例抓圖如下:

其中,
PID - 進程標示號
USER - 進程所有者
PR - 進程優先級
NI - 進程優先級別數值
VIRT - 進程占用的虛擬內存值
RES - 進程占用的物理內存值
SHR - 進程使用的共享內存值
S - 進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死
%CPU - 進程占用的CPU使用率
%MEM - 進程占用的物理內存百分比
TIME+ - 進程啟動后占用的總的CPU時間
Command - 進程啟動的啟動命令名稱
二、free命令查看內存使用情況
free命令查看總內存、使用、空閑等情況,如下圖:

三、ps命令查看CPU狀態
ps(process status)命令用來匯報處理器狀態信息,示例用法:
ps ux ps -H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu
上述命令:第一條按默認方式查看狀態,第二條命令指定顯示列和排序方式,使用時任選其一。
四、簡單的CPU高占用定位方法
首先需獲取到該進程的PID,通過上文命令即可查到
根據PID找到對應的文件,使用命令(其中PID需替換為查到高占用進程ID):
可以用下面的命令將 cpu 占用率高的線程找出來:
ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu
這個命令首先指定參數'H',顯示線程相關的信息,格式輸出中包含:user,pid,ppid,tid,time,%cpu,cmd,然后再用%cpu字段進行排序。這樣就可以找到占用處理器的線程了
ps: invalid option -- 'm'
Show list of processes
-o COL1,COL2=HEADER Select columns for display
-T Show threads (顯示線程數)
1.linux查看占用內存最多的程序 ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head 2.查看占用cpu最多的程序 ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
轉 : https://blog.csdn.net/yuanchunsi/article/details/79295801
https://www.cnblogs.com/wt11/p/9291583.html
