1、vmstat 報告虛擬內存統計信息 vmstat [-V] [-n] [delay [count]] delay是兩次輸出之間的延遲時間;count是指按照這個時間間隔統計的次數。 例如: vmstat -n 3 (每個3秒刷新一次) procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu--- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 144 186164 105252 2386848 0 0 18 166 83 2 48 21 31 0 2 0 144 189620 105252 2386848 0 0 0 177 1039 1210 34 10 56 0 0 0 144 214324 105252 2386848 0 0 0 10 1071 670 32 5 63 0 Procs r: 等待運行的進程數 b: 處在非中斷睡眠狀態的進程數 w: 被交換出去的可運行的進程數。此數由 linux 計算得出,但 linux 並不耗盡交換空間 Memory swpd: 虛擬內存使用情況,單位:KB free: 空閒的內存,單位KB buff: 被用來做爲緩存的內存數,單位:KB Swap si: 從磁盤交換到內存的交換頁數量,單位:KB/秒 so: 從內存交換到磁盤的交換頁數量,單位:KB/秒 IO bi: 發送到塊設備的塊數,單位:塊/秒 bo: 從塊設備接收到的塊數,單位:塊/秒 System in: 每秒的中斷數,包括時鐘中斷 cs: 每秒的環境(上下文)切換次數 CPU 按 CPU 的總使用百分比來顯示 us: CPU 使用時間 sy: CPU 系統使用時間 id: 閒置時間 如果在多用戶環境中us+sys》80,進程就會在運行隊列中花費等待時間,響應時間和吞吐量就會下降。wa>40表明磁盤io沒有也許存在不合理的平衡,或者對磁盤操作比較頻繁 2、lsmod 查看linux系統中已經加載的模塊數 比如說我們可以查看系統中是否已經加載ip_vs的模塊 ipvsadm :lsmod | grep ip_vs 3、lsof(list open files)是一個列出當前系統打開文件的工具 lsof 常見的用法是查找應用程序打開的文件的名稱和數目。可用於查找出某個特定應用程序將日誌數據記錄到何處,或者正在跟蹤某個問題。 lsof -c string 顯示COMMAND列中包含指定字符的進程所有打開的文件 lsof -u username 顯示所屬user進程打開的文件 lsof -g gid 顯示歸屬gid的進程情況 lsof +d /DIR/ 顯示目錄下被進程打開的文件 lsof +D /DIR/ 同上,但是會搜索目錄下的所有目錄,時間相對較長 lsof -d FD 顯示指定文件描述符的進程 lsof -n 不將IP轉換爲hostname,缺省是不加上-n參數 lsof -i 用以顯示符合條件的進程情況 例如:查看22端口現在運行的情況 # lsof -i :22 查看所屬root用戶進程所打開的文件類型爲txt的文件: # lsof -a -u root -d txt 在卸載文件系統時,如果該文件系統中有任何打開的文件,操作通常將會失敗。那麼通過lsof可以找出那些進程在使用當前要卸載的文件系統,如下: # lsof /GTES11/ 當系統中的某個文件被意外地刪除了,只要這個時候系統中還有進程正在訪問該文件,那麼我們就可以通過lsof從/proc目錄下恢復該文件的內容。 假如由於誤操作將/var/log/messages文件刪除掉了,那麼這時要將/var/log/messages文件恢復的方法如下: 首先使用lsof來查看當前是否有進程打開/var/logmessages文件,如下: # lsof |grep /var/log/messages syslogd 1283 root 2w REG 3,3 5381017 1773647 /var/log/messages (deleted) 從上面的信息可以看到 PID 1283(syslogd)打開文件的文件描述符爲 2。同時還可以看到/var/log/messages已經標記被刪除了。因此我們可以在 /proc/1283/fd/2 (fd下的每個以數字命名的文件表示進程對應的文件描述符)中查看相應的信息,如下: # head -n 10 /proc/1283/fd/2 從上面的信息可以看出,查看 /proc/8663/fd/15 就可以得到所要恢復的數據。如果可以通過文件描述符查看相應的數據,那麼就可以使用 I/O 重定向將其複製到文件中,如: cat /proc/1283/fd/2 > /var/log/messages 4、dmidecode 幫助收集電腦系統信息的管理系統 dmidecode -s system-serial-number //顯示系統序列號 -s, --string KEYWORD Only display the value of the given DMI string 只顯示指定DMI字符串的信息 dmidecode -t memory //顯示內存信息 -t, --type TYPE Only display the entries of given type #只顯示指定條目的信息 dmidecode -t 11 #顯示OEM信息 5、mii-tool 這是Linux下專門設置網卡工作模式的命令 (1) 查看網卡的工作模式,輸入命令:#mii-tool -v “100BaseTx-FD”意爲100M Full Duplex。 (2) 更改網卡的工作模式,輸入命令:#mii-tool -F media [interface] 例如,設置網卡工作在10M半雙工模式下,輸入命令:#mii-tool -F 10baseT-HD eth0 (3)恢復網卡的自適應工作模式,輸入命令:#mii-tool -r eth0 6、sort ~/.bash_history | uniq -c | sort -nr | head //可以查看系統用戶最常使用的幾個命令,其中uniq -c 即打印每一重複行出現的次數。sort -n是按數值排序 -r是指逆序顯示。 7、uptime 查看系統負載值 1,5,15分鐘 /proc/loadavg 也顯示了系統的負載值 8、顯示消耗內存/CPU最多的10個進程 ps aux | sort -nk +4 | tail ps aux | sort -nk +3 | tail 9、查看apache的併發請求數及其TCP連接狀態 netstat -n|awk '/^tcp/{++S[$NF]} END {for (a in S) print a,S[a]}' 10、把當前目錄下*.sh文件改名爲*.SH find . -name "*.sh" | sed 's/(.*).sh/mv ? 1 .SH/ ' |sh find . -name "*.sh" | sed 's/(.*).sh/mv & 1 .SH/ ' |sh 11、ssh執行遠程的程序,並在本地顯示 ssh -n -l root 10.48.30.197 "ls -l /root" 12、以http方式共享當前文件夾的文件 python -m SimpleHTTPServer 在瀏覽器中輸入:http://IP:8000/ 即可下載當前目錄下的文件。 13、locate 讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。 locate -n 100 a.out : 尋找所有叫 a.out 的檔案,但最多隻顯示 100 個 locate chdrv : 尋找所有叫 chdrv 的檔案 find / -name "*chdrv*" -print 同上,區別:find只查找具體的文件和目錄,顯示數目要比上述命令小。 14、which 取得程序名列表。命令位置的具體路徑。 root@svn-30-194:~# which top /usr/bin/top 15、Linux 禁ping和開啓ping操作 # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 如果要恢復,只要: # echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
運維常用的linux命令
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.