小編給大家分享一下怎么樣監(jiān)控Linux服務(wù)器狀態(tài),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、小程序開發(fā)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立10多年以來,已經(jīng)為上1000家成都木包裝箱各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的上1000家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。
1. watch
watch 命令我們的使用頻率很高,它的基本作用是,按照指定頻率重復(fù)執(zhí)行某一條指令。使用這個命令,我們可以重復(fù)調(diào)用一些命令來達(dá)到監(jiān)控服務(wù)器的作用。
默認(rèn)情況下,watch 命令的執(zhí)行周期是 2 秒,但我們可以使用 -n 選項來指定運行頻率,比如我們想要每隔 5 秒執(zhí)行 date 命令,可以這么執(zhí)行:
$ watch -n 5 date
一臺服務(wù)器肯定有多人在用,特別是本部門的小伙伴。對于這些小伙伴有沒渾水摸魚,我們可以使用一些命令來監(jiān)控他們。
我們可以每隔 10 秒執(zhí)行 who 命令,來看看都有誰在使用服務(wù)器。
$ 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)
如果發(fā)現(xiàn)系統(tǒng)運行很慢,我們可以調(diào)用 uptime 命令來查看系統(tǒng)平均負(fù)載情況。
$ 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
一些關(guān)鍵的進(jìn)程肯定不能掛,否則可能會影響到業(yè)務(wù)開展,所以我們可以重復(fù)統(tǒng)計服務(wù)器中的所有進(jìn)程數(shù)量。
$ watch -n 5 'ps -ef | wc -l' Every 5.0s: ps -ef | wc -l butterfly: Tue Jan 23 16:11:54 2019 245
想動態(tài)知道服務(wù)器內(nèi)存使用情況,可以重復(fù)執(zhí)行 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
當(dāng)然不僅僅是這些,我們還可以重復(fù)調(diào)用很多命令來對服務(wù)器一些關(guān)鍵參數(shù)進(jìn)行監(jiān)控,
2. top
使用 top 命令我們可以知道系統(tǒng)的很多關(guān)鍵參數(shù),而且是動態(tài)更新的。默認(rèn)情況下,top 監(jiān)控的是系統(tǒng)的整體狀態(tài),如果我們只想知道某個人的使用情況,可以使用 -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
在這個結(jié)果里,你不僅僅可以看到 alvin 這個用戶運行的所有的進(jìn)程數(shù),也可以看到每個進(jìn)程所消耗的系統(tǒng)資源(CPU,內(nèi)存),同時依然可以看到整個系統(tǒng)的關(guān)鍵參數(shù)。
3. ac
如果你想知道每個用戶登錄服務(wù)器所使用的時間,你可以使用 ac 命令。這個命令需要你安裝 acct 包(Debian)或 psacct 包(RHEL,Centos)。
如果我們想知道所有用戶登陸服務(wù)器所使用的時間之和,我們可以直接運行 ac 命令,無需任何參數(shù)。
$ ac total 1261.72
如果我們想知道各個用戶所使用時間,可以加上 -p 選項。
$ ac -p shark 5.24 alvin 5.52 shs 1251.00 total 1261.76
我們還可以通過加上 -d 選項來查看具體每一天用戶使用服務(wù)器時間之和。
$ 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
以上是“怎么樣監(jiān)控Linux服務(wù)器狀態(tài)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!