top命令是Linux下經常使用的性能分析工具,可以實時顯示系統中各個進程的資源佔用狀況。shell
輸入top命令後,以下所示:緩存
top命令顯示的前5行是統計信息,第一行是基本信息。服務器
信息欄 | 含義 |
11:25:21 up 19:29 | 當前時間和系統運行時間,格式爲時:分。這裏表示已經運行了19小時29分 |
2 users | 當前登陸用戶數 |
load average:0.00,0.00,0.00 | 系統負載。三個數值分別爲1分鐘、5分鐘、15分鐘前到如今的平均值 |
第二行是任務的信息。網絡
信息欄 | 含義 |
total | 進程總數 |
running | 正在運行的進程數 |
sleeping | 睡眠的進程數 |
stopped | 中止的進程數 |
zmobie | 殭屍進程數 |
第三行是CPU利用率的統計信息。ssh
信息欄 | 含義 |
us | User Time,CPU執行用戶進程百分比,包括Nice Time |
sy | System Time,CPU在內核運行百分比,包括IRQ百分比 |
ni | Nice Time,調整進程優先級所用百分比 |
id | Idle Time,系統空閒百分比 |
wa | Waiting Time,CPU等待I/O完成所用百分比 |
hi | Hard IRQ Time,硬中斷佔用的CPU時間百分比 |
si | Soft IRQ Time,軟中斷佔用的CPU時間百分比 |
st | Steal Time,虛擬服務佔用的CPU時間百分比 |
第四行是內存的使用信息。工具
信息欄 | 含義 |
total | 總物理內存 |
used | 已使用的物理內存 |
free | 空閒的物理內存 |
buffers | 緩衝的總量。存放準備寫入磁盤的數據 |
cached | 緩存的總量。存放從磁盤中讀取出來的數據 |
第五行是交換區的使用信息。性能
信息欄 | 含義 |
total | 交換區的總大小 |
used | 已使用交換區的總大小 |
free | 未使用交換區的總大小 |
什麼是交換區(Swap)?阿里雲
Linux的交換區是硬盤上的一塊空間。在內存不足的狀況下,操做系統先把內存中暫時不用的數據存到硬盤的交換區,騰出內存來讓別的程序運行。spa
阿里雲服務器上的Linux系統默認是沒有設置Swap。因爲開啓Swap分區會致使硬盤I/O性能降低,所以初始狀態未配置Swap,若是某些應用須要開啓Swap分區,也可經過相應的命令開啓。操作系統
top命令顯示的第6行開始是進程統計信息區。
信息欄 | 含義 |
PID | 進程id |
USER | 進程全部者的用戶名 |
PR | 優先級 |
NI | nice值。負值表示高優先級,正值表示低優先級 |
VIRI | 進程使用的虛擬內存總量,單位KB |
RES | 進程使用的、未被換出的物理內存大小,單位KB |
SHR | 共享內存大小,單位KB |
S | 進程狀態(D=不可中斷的睡眠狀態,R=運行,S=睡眠,T=跟蹤/中止,Z=殭屍進程) |
%CPU | 上次更新到如今的CPU時間佔用百分比 |
%MEM | 進程使用的物理內存百分比 |
TIME+ | 進程使用的CPU時間總計,單位1/100秒 |
COMMAND | 命令名/命令行 |
ps命令是顯示當前系統中進程的狀態,這個命令顯示的只是運行ps命令瞬間的狀態,若是須要顯示不斷更新的狀態,可使用「top -p 進程id」命令。
ps命令的經常使用參數以下。
# 顯示全部的進程 ps -aux # 只顯示某個進程 ps axu|grep 進程名
經過ps,管道命令「|」和grep就能把輸出中匹配進程名的行檢索出來。
查看服務器的網絡鏈接狀況,好比
netstat命令的經常使用參數以下。
# 查看系統中啓動的端口 netstat -lntup # 查看系統中是否開啓80端口 netstat -lntup|grep 80 # 查看系統中80端口的鏈接狀況 netstat -ant|grep 80
lsof(list open files)是一個列出當前系統打開文件的工具。經常使用的參數以下。
# 查看進程id打開的文件 lsof -p 進程id
lrzsz軟件包,在Linux裏可代替FTP上傳和下載。安裝lrzsz只要執行命令:
yum -y install lrzsz
往Linux服務器上傳文件,只需在目標文件夾下執行以下命令,而後ssh客戶端彈出窗口讓用戶選擇上傳的文件。
rz
把Linux服務器的文件下載到本地,可執行以下命令,在ssh客戶端彈出文件窗口讓用戶選擇下載文件的保存路徑。
sz 目標文件
安裝supervisor命令:
yum install supervisor
其配置文件/etc/supervisord.conf。
爲了更好地管理進程監控腳本,把進程監控腳本放在/etc/supervisord/conf.d/下。例如,爲監控運行腳本/data/sendmail.sh,建立文件/etc/supervisord/conf.d/mail.conf。