1. 程式人生 > >linux檢視硬碟空間 檔案大小

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