Linux不像Windows,你不會總是可以看到一個圖形化的系統界面,特別是在服務器環境中。作為 Linux 管理員,了解如何檢查可用和已用資源(如內存、CPU、磁盤空間等)非常重要。如果有任何應用程序在系統上使用過多的資源來以最佳級別運行系統,則需要查找並修復。下面就來看一下Linux中是如何查看內存使用率的。
1,查看內存使用率使用free 命令
Free 命令是 Linux 管理員廣泛使用的最強大的命令。但與"/proc/meminfo"文件相比,它提供的信息很少。Free 命令顯示系統上可用和已用物理內存和交換內存的總量,以及內核使用的緩沖區和緩存。
下面是圖中參數字段的含義:
- total: 總內存
- used: 正在運行的進程使用的內存(used= total – free – buff/cache)
- free: 未使用的內存 (free= total – used – buff/cache)
- shared: 多個進程共享的內存
- buffers: 內存保留用於內核操作一個進程隊列請求
- cache: 在 RAM 中保存最近使用的文件的頁面緩存的大小
- buff/cache: Buffers + Cache
- available: 估計有多少內存可用於啟動新應用程序,而無需交換。
2,查看內存使用率使用/proc/meminfo文件
"/proc/meminfo"文件是一個擬文件,其中包含有關內存使用情況的各種實時信息。它以千字節為單位顯示內存統計信息,其中大多數有點難以理解。但是,它包含有關內存使用情況的有用信息。
3,查看內存使用率使用vmstat命令
vmstat 命令是報告虛擬內存統計信息的另一個有用工具。vmstat 報告有關進程、內存、分頁、塊 IO、磁盤和 CPU 功能的信息。vmstat 不需要特殊權限,它可以幫助識別系統瓶頸。
以下是對上圖命令的解釋:
Procs
- r: 可運行進程的數量(正在運行或等待運行時)
- b: 處於不間斷休眠狀態的進程數
Memory
- swpd: 使用的虛擬內存量
- free: 空閑內存量
- buff: 用作緩沖區的內存量
- cache: 用作緩存的內存量
- inact: 非活動內存量
- active: 活動內存量
Swap
- si:從磁盤交換的內存量(/s)
- so: 交換到磁盤的內存量(/s)
IO
- bi: 從塊設備接收的塊(blocks/s)
- bo:發送到塊設備的塊 (blocks/s)
System
- in: 每秒的中斷數,包括時鍾
- cs: 每秒上下文切換數
CPU : 這些是總 CPU 時間的百分比
- us: 運行非內核代碼所花費的時間(用戶時間)
- sy: 運行內核代碼所花費的時間(系統時間)
- id: 閑置時間。在 Linux 2.5.41 之前,這包括 IO 等待時間
- wa: 等待 IO 所花費的時間。在 Linux 2.5.41 之前,包含在空閑中
- st: 從虛擬機中竊取的時間。在 Linux 2.6.11 之前,未知
運行以下命令查看詳細信息。
4,查看內存使用率使用smem命令
smem是一個工具,可以提供大量Linux系統內存使用情況的報告。與現有工具不同,smem 可以報告比例集大小 (PSS)、唯一集大小 (USS) 和常駐集大小 (RSS)。成比例集大小 (PSS):指虛擬內存系統中庫和應用程序使用的內存量。唯一集大小 (USS) :未共享的內存報告為 USS(唯一集大小)。駐留集大小 (RSS):物理內存(通常在多個應用程序之間共享)使用情況的標准度量(稱為駐留集大小 (RSS))將大大高估內存使用量。注:如果執行以下命令提示未找到,請執行“yum install smem安裝”
5,查看內存使用率使用top命令
top命令是 Linux 管理員用於了解和查看 Linux 系統上進程的資源使用情況的最常用命令之一。它顯示系統的總內存、當前內存使用情況、可用內存和緩沖區使用的總內存。此外,它還顯示系統的總交換內存、當前交換使用情況、可用交換內存和總緩存內存。
6,查看內存使用率使用htop命令
htop 命令是 Linux/Unix 系統的交互式進程查看器。它是一個文本模式應用程序,需要ncurses庫,它是由Hisham開發的。它被設計為頂級命令的替代方法。這類似於 top 命令,但允許您垂直和水平滾動以查看運行系統的所有進程。htop帶有Visual Colors,它具有額外的好處,並且在跟蹤系統性能時非常明顯。可以自由地執行與進程相關的任何任務,例如進程終止和重新設置,而無需輸入其PID。
7,查看內存使用率使用glances命令
glances是用Python編寫的跨平台系統監控工具。可以查看所有信息,例如CPU使用情況,內存使用情況,正在運行的進程,網絡接口,磁盤I / O,Raid,傳感器,文件系統信息,Docker,系統信息,正常運行時間等.
8,查看內存使用率使用ps_mem命令
ps_mem是一個簡單的Python腳本,允許您准確地獲取Linux中程序的核心內存使用情況。這可以確定每個程序(而不是每個進程)使用多少 RAM。它計算每個程序使用的內存總量,總計=總和(程序進程的專用RAM)+總和(程序進程的共享RAM)。計算共享 RAM 存在問題,並且該工具會自動為正在運行的內核選擇最准確的方法。注:如果執行以下命令提示未發現,請執行“yum install ps_mem”安裝
9,查看內存使用率使用sar命令
sar 命令用於收集和報告系統活動詳細信息。(注:如果使用以下命令提示無法找到該命令可以使用”yum install sysstat“來安裝)
總結:Linux 系統上有各種可用的工具和命令來監視 內存的使用率和系統資源利用率,那么多命令工具可根據實際情況來使用,一般用free,top,vmstat,htop等用得多。