1. 程式人生 > >檢視 Linux 磁碟及記憶體使用狀況

檢視 Linux 磁碟及記憶體使用狀況

本文寫在:最近同步幾百T資料時候產生問題 ①:日誌列印太多,造成磁碟空間爆滿 ②:執行緒開太多,造成 CPU 使用率過高,程式掛掉

檢視磁碟使用情況

  1. df -h 輸出顯示的數字形式的’G’(千兆位元組),“M”(兆位元組)和"K"(千位元組) 在這裡插入圖片描述 Size:總的目錄檔案可用磁碟大小 Used: 已經使用大小 Avail: 可用的 Use%: 已經使用佔用 % 比

  2. df -m 以 M 輸出顯示磁碟情況 在這裡插入圖片描述

  3. df -k 以 K 顯示磁碟情況 在這裡插入圖片描述

檢視記憶體使用情況

  1. top 檢視系統的CPU、記憶體、執行時間、交換分割槽、執行的執行緒等資訊 在這裡插入圖片描述 依次對應: PID — 程序id USER — 程序所有者 PR — 程序優先順序 NI — nice值。負值表示高優先順序,正值表示低優先順序 VIRT — 程序使用的虛擬記憶體總量,單位kb。VIRT=SWAP+RES RES — 程序使用的、未被換出的實體記憶體大小,單位kb。RES=CODE+DATA SHR — 共享記憶體大小,單位kb S — 程序狀態。D=不可中斷的睡眠狀態 R=執行 S=睡眠 T=跟蹤/停止 Z=殭屍程序 %CPU — 上次更新到現在的CPU時間佔用百分比 %MEM — 程序使用的實體記憶體百分比 TIME+ — 程序使用的CPU時間總計,單位1/100秒 COMMAND — 程序名稱(命令名/命令列)

  2. free 顯示系統使用和空閒的記憶體情況,包括實體記憶體、互動區記憶體(swap)和核心緩衝區記憶體 在這裡插入圖片描述 total : 總計實體記憶體的大小 used : 已使用多大 free : 完全空閒的記憶體 Shared : 多個程序共享的記憶體總額 Buffers/cached : 磁碟快取的大小 available:可用的記憶體大小

解決問題

  1. 如果要保證磁碟空間充足,避免日誌列印過多而造成系統程式掛掉,這時候就得寫指令碼定時清理日誌檔案
  2. 控制程式程式碼非同步執行緒池數量,根據自己系統記憶體核數來控制執行緒池大小,避免出現 cpu 佔滿程式待機的狀況