linux檢視硬碟空間 檔案大小
du,disk usage,是通過搜尋檔案來計算每個檔案的大小然後累加,du能看到的檔案只是一些當前存在的,沒有被刪除的。他計算的大小就是當前他認為存在的所有檔案大小的累加和
df,disk free,通過檔案系統來快速獲取空間大小的資訊,當我們刪除一個檔案的時候,這個檔案不是馬上就在檔案系統當中消失了,而是暫時消失了,當所有程式都不用時,才會根據OS的規則釋放掉已經刪除的檔案, df記錄的是通過檔案系統獲取到的檔案的大小,他比du強的地方就是能夠看到已經刪除的檔案,而且計算大小的時候,把這一部分的空間也加上了,更精確了。
當檔案系統也確定刪除了該檔案後,這時候du與df就一致了。
常用命令:
du -sh [目錄名]
du -sh /opt
du -ah /opt
輸出當前目錄下各個子目錄所使用的空間 ,加上目錄名,則輸出指定目錄下各個子目錄所使用的空間
du -h --max-depth=1
df -lh
說明:
-h更具目前磁碟空間和使用情況 以更易讀的方式顯示
-H根上面的-h引數相同,不過在根式化的時候,採用1000而不是1024進行容量轉換
-k以單位顯示磁碟的使用情況
-l顯示本地的分割槽的磁碟空間使用率,如果伺服器nfs了遠端伺服器的磁碟,那麼在df上加上-l後系統顯示的是過濾nsf驅動器後的結果
-i顯示inode的使用情況。linux採用了類似指標的方式管理磁碟空間影射.這也是一個比較關鍵應用
Linux下檢視某一個程序所佔用的記憶體,首先可以通過ps命令找到程序id
ps -ef | grep mongod
現在可以使用如下命令檢視記憶體:
top -p 2607
這樣可以動態實時的看到CPU和記憶體的佔用率,然後按q鍵回到命令列
也可直接使用ps命令檢視:
ps -aux | grep mongod
第一個標註的地方是CPU和記憶體佔用率,後面的 89736 是實體記憶體使用量,單位是k,此時 mongodb 大約佔用87M記憶體
還可以檢視程序的status檔案:
VmRSS對應的值就是實體記憶體佔用,大約為87M和剛才一致
通過命令檢視記憶體佔用前10名的程式:
ps aux | sort -k4,4nr | head -n 10
1、cpu檢視
1)cpu個數:
cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
2)cpu核數:
cat /proc/cpuinfo | grep "cpu cores" | uniq
3)cpu型號:
cat /proc/cpuinfo | grep 'model name' |uniq
2、記憶體檢視:
cat /proc/meminfo | grep MemTotal
3、硬碟檢視:
fdisk -l | grep Disk
下面是一些命令的集合,供參考:
uname -a # 檢視核心/作業系統/CPU資訊的linux系統資訊 head -n l /etc/issue # 檢視作業系統版本 cat /proc/cpuinfo # 檢視CPU資訊 hostname # 檢視計算機名的linux系統資訊命令 lspci -tv # 列出所有PCI裝置 lsusb -tv # 列出所有USB裝置的linux系統資訊命令 lsmod # 列出載入的核心模組 env # 檢視環境變數資源 free -m # 檢視記憶體使用量和交換區使用量 df -h # 檢視各分割槽使用情況 du -sh # 檢視指定目錄的大小 grep MemTotal /proc/meminfo # 檢視記憶體總量 grep MemFree /proc/meminfo # 檢視空閒記憶體量 uptime # 檢視系統執行時間、使用者數、負載 cat /proc/loadavg # 檢視系統負載磁碟和分割槽 mount | column -t # 檢視掛接的分割槽狀態 fdisk -l # 檢視所有分割槽 swapon -s # 檢視所有交換分割槽 hdparm -i /dev/hda # 檢視磁碟引數(僅適用於IDE裝置) dmesg | grep IDE # 檢視啟動時IDE裝置檢測狀況網路 ifconfig # 檢視所有網路介面的屬性 iptables -L # 檢視防火牆設定 route -n # 檢視路由表 netstat -lntp # 檢視所有監聽埠 netstat -antp # 檢視所有已經建立的連線 netstat -s # 檢視網路統計資訊程序 ps -ef # 檢視所有程序 top # 實時顯示程序狀態使用者 w # 檢視活動使用者 id # 檢視指定使用者資訊 last # 檢視使用者登入日誌 cut -d: -f1 /etc/passwd # 檢視系統所有使用者 cut -d: -f1 /etc/group # 檢視系統所有組 crontab -l # 檢視當前使用者的計劃任務服務 chkconfig –list # 列出所有系統服務 chkconfig –list | grep on # 列出所有啟動的系統服務程式 rpm -qa # 檢視所有安裝的軟體包 cat /proc/cpuinfo :檢視CPU相關引數的linux系統命令 cat /proc/partitions :檢視linux硬碟和分割槽資訊的系統資訊命令 cat /proc/meminfo :檢視linux系統記憶體資訊的linux系統命令 cat /proc/version :檢視版本,類似uname -r cat /proc/ioports :檢視裝置io埠 cat /proc/interrupts :檢視中斷 cat /proc/pci :檢視pci裝置的資訊 cat /proc/swaps :檢視所有swap分割槽的資訊
CPU佔用最多的前10個程序:
ps auxw|head -1;ps auxw|sort -rn -k3|head -10
記憶體消耗最多的前10個程序
ps auxw|head -1;ps auxw|sort -rn -k4|head -10
虛擬記憶體使用最多的前10個程序
ps auxw|head -1;ps auxw|sort -rn -k5|head -10