如何即時監控 Linux 使用者和程序?
Linux 是一種開源作業系統,在開發人員和系統管理員中越來越受歡迎。它以其穩定性、安全性以及靈活性而聞名,廣泛應用於企業環境。但是,與任何作業系統一樣,監控系統性能以確保一切正常執行非常重要。這就是即時監控使用者和程序變得至關重要的原因。
在本文中,我們將討論如何即時監控 Linux 使用者和程序。
我們將介紹一些最常用的工具,例如 w、who、last、top、htop,它們用於管理 Linux 子系統中的使用者和程序。在本文的下一部分,我們將解釋如何使用這些工具即時監控系統性能。那麼,讓我們開始吧!
即時監控 Linux 使用者
首先,我們將討論如何即時監控 Linux 使用者。一些最常用的命令列工具可以幫助您關注使用者活動,例如 w、who 和 last 命令。讓我們詳細瞭解一下它們。
1. W 命令
“w”命令負責向您顯示所有當前登入使用者的列表,以及他們的登入時間、當前程序和系統負載。
此命令非常易於使用。只需在您的終端中鍵入“w”即可檢視當前登入到您系統的使用者列表。
示例
$ w
輸出
16:36:11 up 7 days, 6:21, 1 user, load average: 0.07, 0.02, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT user1 pts/0 192.168.1.1 09:13 0.00s 0.02s 0.00s w
上述命令的輸出顯示當前有一個使用者登入,即 user1。它還顯示了他們的登入時間、終端 (TTY)、遠端 IP 地址以及當前系統負載。
2. Who 命令
“who”命令與“w”命令非常相似。唯一的區別在於它只顯示當前登入使用者的列表,而沒有提供很多其他詳細資訊。
同樣,使用此命令也很容易。只需在您的 Linux 終端中鍵入“who”。
示例
$ who
輸出
user1 pts/0 2022-04-01 09:13 (192.168.1.1)
如您在以上輸出中看到的,“who”命令僅顯示登入使用者的列表、他們的終端和 IP 地址,這與“w”命令不同,後者顯示了更多資訊。
3. Last 命令
“last”命令顯示所有最近登入和登出的列表。要檢視列表,請在您的終端中鍵入“last”。
示例
$ last
輸出
user1 pts/0 192.168.1.1 Fri Apr 1 09:13 still logged in user2 pts/1 192.168.1.2 Thu Mar 31 14:05 - 14:14 (00:08) user3 pts/2 192.168.1.3 Thu Mar 31 13:44 - 13:49 (00:05)
如您在以上輸出中觀察到的,“last”命令顯示了最近登入和登出的使用者列表。它還顯示每個使用者的日期、時間和 IP 地址。
現在我們瞭解了一些用於即時監控使用者的基本命令列工具。讓我們繼續瞭解如何即時管理程序。
即時監控 Linux 程序
在本節中,我們將介紹如何即時監控 Linux 系統的 Linux 程序。為此,有多種工具可用,但我們將重點介紹兩個流行的命令列工具:top 和 htop。
1. Top 命令
首先,讓我們看一下 top 命令。top 是一個內建的命令列工具,它顯示即時系統資訊,包括 CPU 使用率、記憶體使用率和正在執行的程序。
要啟動 top,請開啟一個終端並在命令提示符中鍵入“top”。輸出將即時更新並顯示您系統的當前狀態。
示例
$ top
以下是 top 命令的示例輸出:
輸出
top - 22:07:36 up 2:24, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 127 total, 1 running, 126 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 7941.1 total, 4157.1 free, 2448.8 used, 1335.3 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 5045.6 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1432 root 20 0 339968 55808 19112 S 1.0 0.7 0:44.08 Xorg 2462 username 20 0 908564 95916 54456 S 0.3 1.2 0:10.32 gnome-te+ 2586 username 20 0 2203836 297076 111832 S 0.3 3.6 1:01.09 gnome-sh+ 3122 username 20 0 2415716 407556 92312 S 0.3 5.0 1:47.80 firefox 1 root 20 0 168952 9724 6664 S 0.0 0.1 0:02.62 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
如您所見,輸出顯示程序 ID (PID)、使用者、CPU 使用率、記憶體使用率等等。您還可以根據不同的條件對輸出進行排序,例如 CPU 使用率或記憶體使用率。為此,請按“O”鍵(大寫字母 O),然後選擇要排序的欄位。
接下來,讓我們看一下 htop 命令。
2. Htop 命令
Htop 是 top 的一個更高階的版本,它提供了更友好的使用者介面和附加功能,例如能夠垂直和水平滾動瀏覽程序列表。
htop 的輸出返回顏色編碼的輸出,使其更易於閱讀和理解。它還提供其他功能,例如能夠按名稱搜尋特定程序、按 CPU 使用率篩選程序,甚至直接從 htop 介面終止程序。
要啟動 htop,請開啟一個終端並在命令提示符中鍵入“htop”。輸出將即時更新並顯示您系統的當前狀態。
$ htop
以下是輸出示例:
如您在以上輸出影像中看到的,htop 提供了有關係統上執行的程序的大量有用資訊,包括它們的 CPU 和記憶體使用率、程序 ID 等等。您可以使用箭頭鍵瀏覽介面,並且可以透過按相應的鍵(例如,按 F6 按 CPU 使用率排序)根據各種條件對程序進行排序。
除了 top 和 htop 命令之外,還有其他一些工具可用於即時監控 Linux 程序,例如 iotop、nethogs 和 iftop。
結論
在本文中,我們討論瞭如何即時監控 Linux 使用者和程序。首先,我們介紹了一些常用的命令列工具,例如 w、who 和 last,用於監控 Linux 使用者。在本文的後半部分,我們討論了一些最常用的用於監控 Linux 使用者和程序的工具,例如 top、htop。透過使用這些工具,您可以識別效能瓶頸、排查問題並最佳化系統以使其平穩執行。無論您是系統管理員還是開發人員,這些工具都將幫助您監控和最佳化 Linux 系統,以實現最大效率。