天天看點

linux日常運維基礎指令

檢視系統負載情況

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,如需轉載請自行聯系原作者