檢視系統負載情況
1、w (使用w指令檢視負載情況)
檢視load average 行檢視1分鐘負載情況 5分鐘負載情況 15分鐘負載情況,如果數值超過CPU核數,則說明現在CPU使用過程中有排隊現象,核數不夠
2、uptime (檢視目前系統負載情況)
同w指令
vmstat (檢視)
使用方法:
vmstat 1 5 (每隔一秒顯示linux的負載狀态,一共顯示5次)
r:一秒内平均程序
b:有多少任務被磁盤IO,網絡阻塞
swpd:有多少資料量被交換,如果swpd值很大,且不斷變更,記憶體有可能不夠或記憶體溢出
free:空閑的實體記憶體數(是真正的空閑,未被任何程式占用)
buff:磁盤緩存(Buffer Cache)的大小(可提高系統I/O調用的性能)
cache:磁盤緩存(Page Cache)的大小(可提高系統I/O調用的性能)
si:swpd in 進入到記憶體 (如果不變說明記憶體穩定,如果總是變化則說明記憶體不夠)
so:swpd out 從記憶體出來的(如果不變說明記憶體穩定,如果總是變化則說明記憶體不夠)
bi:寫入磁盤内容 (普通伺服器如果持續超過1000則有可能有壓力,頻繁讀寫)
bo:讀取磁盤内容 (普通伺服器如果持續超過1000則有可能有壓力,頻繁讀寫)
in:每秒CPU的中斷次數,包括時間中斷
cs:每秒上下文切換次數
us:使用者CPU時間。
sy:系統CPU時間,如果太高,表示系統調用時間長,例如是IO操作頻繁。
id:空閑 CPU時間。
wt:等待IO CPU時間。
st:被偷走的cpu
top (動态檢視目前哪個程序占用CPU或記憶體最多)
top
shift+m (檢視記憶體占用最多的程序)
PID (程序ID)
USER (那個使用者運作的程序)
PR (程序處理優先級,越小排的越靠前)
NI (負值表示高優先級,正值表示低優先級)
VIRT (程序使用的虛拟記憶體總量,機關kb)
RES (程序使用的、未被換出的實體記憶體大小,機關kb)
S (程序狀态:D=不可中斷的睡眠狀态;R=運作;S=睡眠;T=跟蹤/停止;Z=僵屍程序)
%CPU (上次更新到現在的CPU時間占用百分比)
%MEM (程序使用的實體記憶體百分比)
TIME+ (程序使用的CPU時間總計,機關1/100秒)
COMMAND (指令名)
top -bn1 (靜态一次性顯示目前伺服器情況,可寫入腳本中)
top -c -d 1 (-c是COMMAND顯示更全,-d是1秒重新整理1次)
sar (檢視磁盤,CPU,網卡等曆史使用情況)
sar -n DEV (檢視今天的網卡流量使用情況,10分鐘一次)
sar -n DEV 1 10 (檢視現在網卡的使用情況,每一秒顯示一次,一共顯示10次)
主要看rxbyt/s和txbyt/s這兩列,分别是上行流量和下行流量
/var/log/sa/下有曆史資料,曆史資料以sa開頭
sar -n DEV -f sa22 (檢視曆史記錄)
sar -q (檢視曆史負載)
sar -b (檢視磁盤曆史使用)
sar (與top等指令類似)
free (檢視目前系統還有多少剩餘記憶體)
buffers (緩沖區,CPU處理完的資料存到記憶體中,再由記憶體寫入磁盤)
cached (高速緩沖區,由磁盤讀取到記憶體中供CPU處理)
ps (檢視系統當中的所有程序)
ps aux (顯示系統目前的所有程序)
USER (該程序的使用者)
%CPU (占用CPU的百分比)
%MEM (占用記憶體的百分比)
VSZ (占用虛拟記憶體的大小)
RSS (占用真正記憶體的大小)
TTY (終端裝置,?:在背景運作;pst/0:正在運作)
STAT (表示程序狀态:S:睡眠;s:主程序;<:優先級高;N:低優先級;+:前台運作的程序;R:正在運作的程序;L:記憶體分頁;l:多線程程序;Z:僵屍程序;X:已經死掉的程序;T:暫停的程序;D:不能中斷的程序)
START (啟動日期)
TIME (一共占用CPU的時間)
COMMAND (程序的指令)
ps -elf (顯示系統目前的所有程序)
ps aux |grep php (過濾PHP程序)
crontab (任務計劃)
crontab -u root -l (列出root使用者的計劃任務有哪些)
crontab -e (添加任務計劃)
任務計劃時間為分,時,日,月,周
0 0 2 * * (每月2号0點0分執行計劃)
0 */8 * * * (每隔八小時備份一次)
0 1,12,18 * * * (每天1,12,18點執行一次)
30 9-18 * * * (每天9:30-18:30,每小時執行一次)
linux系統服務
ntsysv (檢視并調整啟動服務,調整完後需重新開機)
chkconfig (檢視在所有運作級别下有哪些服務開啟)
chkconfig atd off (将atd服務在2345級别下關閉)
chkconfig --list atd (檢視atd服務清單)
chkconfig --level 34 atd on (将atd服務在運作3和4級别下打開)
系統啟動服務清單位置:/etc/init.d/
chkconfig --add 123 (将123服務添加到啟動服務中;123檔案需要有執行權限)
chkconfig --del 123 (将123服務從啟動服務中删除)
linux系統日志
/etc/logrotate.conf (日志切割的配置檔案)
/var/log/message (jilu系統核心相關的日志)
/var/log/wtmp (記錄使用者登陸曆史)
last (檢視使用者登入曆史指令)
/var/log/btmp (記錄無效使用者登陸曆史)
lastb (檢視使用者無效登陸曆史)
/var/log/maillog (記錄郵件的發送情況)
/var/log/secure (記錄記錄系統的登入資訊,如ftp服務中的使用者登陸情況)
var/log/dmesg (記錄啟動過程中的硬體日志)
dmesg (檢視目前的硬體情況)
kill (殺死一個程序)
kill pid (殺死某一個程序)
kill -9 pid (強制殺死一個程序,殺不死的情況下)
kill -HUP ****** (重新加載某一個服務)
killall httpd (殺死httpd服務)
killall -9 httpd (強制殺死httpd服務)
檔案改名、複制、備份操作
find /var/log/ -type f -mtime +10 -exec cp {} {}.bak \; (将/var/log/下超過10天的檔案找出,在該檔案夾下将所有檔案都進行備份,備份為.bak檔案;{}表示之前的檔案名,{}.bak表示被分為"檔案名+.bak")
find /var/log/ -type f -mtime +10 |xargs -i cp {} {}.bak (功能同上)
ls *.txt |xargs rm (删除ls查找到的以txt為結尾的檔案)
ls *.txt |xargs -i cp {} {}.bak (備份所有txt檔案)
nohup (程序背景執行)
nohup sleep 100 (将sleep程序放到背景處理,并将程序輸出的内容寫入到nohup.out中)
screen
yum install -y screen
screen (建立一個新的虛拟終端)
ctrl + a + d (暫時退出該終端)
exit 或 crtl + d (永久退出該終端)
screen -ls (檢視目前都有哪些虛拟終端)
screen -r 1529 (回到ID号為1529的screen虛拟終端下)
screen -S test (建立一個名為test的虛拟終端)
screen -r test (回到名字為test的虛拟終端下)
curl (通路工具)
curl www.baidu.com (通路百度網頁,源代碼)
curl -I www.baidu.com (檢視百度的目前狀态)
200 通路正常;301,302 在服務端設定了跳轉;
curl -u username: password: http://www.baidu.com (通路需要輸入使用者名和密碼的網址)
本文轉自 粗糧面包 51CTO部落格,原文連結:http://blog.51cto.com/culiangmianbao/1770449,如需轉載請自行聯系原作者