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
檢查端口被哪個進程占用
netstat -lnp|grep 5000
找到進程號:3579 占用 5000 端口
查看進程的詳細信息:
ps 3579
殺掉進程:
kill -9 3579