您好,登錄后才能下訂單哦!
這篇文章主要講解了監控Linux服務器狀態的實現方法,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
Linux 服務器我們天天打交道,特別是 Linux 工程師更是如此。為了保證服務器的安全與性能,我們經常需要監控服務器的一些狀態,以保證工作能順利開展。
本文介紹的幾個命令,不僅僅適用于服務器監控,也適用于我們日常情況下的開發。
1. watch
watch 命令我們的使用頻率很高,它的基本作用是,按照指定頻率重復執行某一條指令。使用這個命令,我們可以重復調用一些命令來達到監控服務器的作用。
默認情況下,watch 命令的執行周期是 2 秒,但我們可以使用 -n
選項來指定運行頻率,比如我們想要每隔 5 秒執行 date 命令,可以這么執行:
$ watch -n 5 date
一臺服務器肯定有多人在用,特別是本部門的小伙伴。對于這些小伙伴有沒渾水摸魚,我們可以使用一些命令來監控他們。
我們可以每隔 10 秒執行 who 命令,來看看都有誰在使用服務器。
$ watch -n 10 who Every 10.0s: who butterfly: Tue Jan 23 16:02:03 2019 shs :0 2019-01-23 09:45 (:0) dory pts/0 2019-01-23 15:50 (192.168.0.5) alvin pts/1 2019-01-23 16:01 (192.168.0.15) shark pts/3 2019-01-23 11:11 (192.168.0.27)
如果發現系統運行很慢,我們可以調用 uptime 命令來查看系統平均負載情況。
$ watch uptime Every 2.0s: uptime butterfly: Tue Jan 23 16:25:48 2019 16:25:48 up 22 days, 4:38, 3 users, load average: 1.15, 0.89, 1.02
一些關鍵的進程肯定不能掛,否則可能會影響到業務開展,所以我們可以重復統計服務器中的所有進程數量。
$ watch -n 5 'ps -ef | wc -l' Every 5.0s: ps -ef | wc -l butterfly: Tue Jan 23 16:11:54 2019 245
想動態知道服務器內存使用情況,可以重復執行 free 命令。
$ watch -n 5 free -m Every 5.0s: free -m butterfly: Tue Jan 23 16:34:09 2019 total used free shared buff/cache available Mem: 5959 776 3276 12 1906 4878 Swap: 2047 0 2047
當然不僅僅是這些,我們還可以重復調用很多命令來對服務器一些關鍵參數進行監控,
2. top
使用 top 命令我們可以知道系統的很多關鍵參數,而且是動態更新的。默認情況下,top 監控的是系統的整體狀態,如果我們只想知道某個人的使用情況,可以使用 -u
選項來指定這個人。
$ top -u alvin top - 16:14:33 up 2 days, 4:27, 3 users, load average: 0.00, 0.01, 0.02 Tasks: 199 total, 1 running, 198 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 5959.4 total, 3277.3 free, 776.4 used, 1905.8 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 4878.4 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 23026 alvin 20 0 46340 7820 6504 S 0.0 0.1 0:00.05 systemd 23033 alvin 20 0 149660 3140 72 S 0.0 0.1 0:00.00 (sd-pam) 23125 alvin 20 0 63396 5100 4092 S 0.0 0.1 0:00.00 sshd 23128 alvin 20 0 16836 5636 4284 S 0.0 0.1 0:00.03 zsh
在這個結果里,你不僅僅可以看到 alvin 這個用戶運行的所有的進程數,也可以看到每個進程所消耗的系統資源(CPU,內存),同時依然可以看到整個系統的關鍵參數。
3. ac
如果你想知道每個用戶登錄服務器所使用的時間,你可以使用 ac 命令。這個命令需要你安裝 acct
包(Debian)或 psacct
包(RHEL,Centos)。
如果我們想知道所有用戶登陸服務器所使用的時間之和,我們可以直接運行 ac 命令,無需任何參數。
$ ac
total 1261.72
如果我們想知道各個用戶所使用時間,可以加上 -p
選項。
$ ac -p shark 5.24 alvin 5.52 shs 1251.00 total 1261.76
我們還可以通過加上 -d
選項來查看具體每一天用戶使用服務器時間之和。
$ ac -d | tail -10 Jan 11 total 0.05 Jan 12 total 1.36 Jan 13 total 16.39 Jan 15 total 55.33 Jan 16 total 38.02 Jan 17 total 28.51 Jan 19 total 48.66 Jan 20 total 1.37 Jan 22 total 23.48 Today total 9.83
看完上述內容,是不是對監控Linux服務器狀態的實現方法有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。