8.12-14 df 、mkswap、swapon、swapoff、sync
生活随笔
收集整理的這篇文章主要介紹了
8.12-14 df 、mkswap、swapon、swapoff、sync
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
8.12 df:報告文件系統磁盤空間的使用情況
-a?? ?顯示所有文件系統 -h?? ?以容易理解的格式顯示磁盤的使用情況端 -i?? ?顯示文件系統的inode信息迷 -t?? ?顯示指定類型的磁盤 -T?? ?列出文件系統的類型 Filesystem?? ?第1列是文件系統對應的設備文件的路徑名(一般是硬盤上的分區) 1K-blocks? ? ?第2列是分區的總大小(單位為block) Used ?? ?? ? ?第3列是分區的使用大小 Available?? ??第4列是分區的可用大小 Use%?? ??? ???第5列是使用百分比 Mounted on ?? 第6列是文件系統的掛載點 第3列和第4列之和不等于第2列。這是因為默認的每個分區都預留了少量空間供root使用。即使遇到空間已滿的情況,root仍能登錄和擁有解決問題所需的工作空間。清單中的Use%列表示普通用戶空間使用的百分比,即使這一數字達到了100%,分區仍然留有root使用的空間。 參數-i 顯示inode的使用情況 [root@cs6 data1]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/vg_cs6-lv_root1738080 23547 1714533 2% / tmpfs 238145 1 238144 1% /dev/shm /dev/sda1 128016 38 127978 1% /boot?參數-t顯示指定類型的磁盤。
[root@cs6 data1]# df -t ext4 #<== -t 后面接文件系統類型,如ext2/ext3/ext4。 Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_cs6-lv_root27228028 1689448 24148808 7% / /dev/sda1 487652 28020 434032 7% /boot?參數-T列出了文件系統的類型。
[root@cs6 data1]# df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_cs6-lv_rootext4 27228028 1689448 24148808 7% / tmpfs tmpfs 952580 0 952580 0% /dev/shm /dev/sda1 ext4 487652 28020 434032 7% /boot?向磁盤寫入數據提示如下錯誤:No space left on device,然后通過df-h查看磁盤空間,結果發現磁盤沒滿,那么請問這可能是什么原因?
可能是inode數量被耗盡了。用df-i可查看inode的使用情況。 導致上述inode滿的原因之一有如下幾種情況: Linux 系統目錄/var/spool/clientmquene(CentOS5.8默認安裝sendmail軟件的郵件的臨時隊列目錄)或/var/spool/postfix/maildrop/(CentOS6.6默認安裝postfix軟件的郵件的臨時隊列目錄)很容易被大量小文件占滿,導致出現“No space left on device”的錯誤。 原因分析: 系統中crond定時任務執行的程序有輸出內容,輸出內容會以郵件形式發給設置定時任務的用戶,而若Sendmail/Postfix服務沒有啟動,則會產生類似下面代碼所示的這些文件,時間長了就會把系統的inode數量耗盡,但是block的數量仍有剩余,所以使用df -h 查看空間還有剩余。 解決方法: 小文件太多,直接用rm -f刪除會失敗,顯示參數過長的錯誤信息,這時需要用到 ls|xargs rm -f命令進行刪除。若想要根治,可采用如下方法。 因為主要是由定時任務引起的,所以可在定時任務后加上>/dev/null 2>&1來解決?8.13 mkswap:創建交換分區
mkswap命令是在Linux系統里創建交換分區的工具,當系統沒有交換分區或交換分區不夠用時,可以新建一個交換分區。 -c?? ?建立交換分區之前,首先檢查磁盤是否有損壞的區塊 -f?? ?強制執行操作 創建交換分區。 可以將一塊磁盤分區后再針對某一個分區創建交換分區,也可以將整塊磁盤創建為交換分區,但需要-f參數。 [root@cs6 data1]# mkswap /dev/sdb?? ?#<==默認是不能用整塊磁盤傳交換分區的。 /dev/sdb: 設備或資源忙 mkswap -f /dev/sdb1?? ?#<==使用-f參數強制使用整塊磁盤做交換分區8.14 swapon:激活交換分區
使用mkswap命令創建交換分區后,分區并沒有生效,還需要使用swapon命令使之生效。 -s?? ?顯示所有交換分區的信息 [root@cs6 ~]# mkswap -f /dev/sdb1 Setting up swapspace version 1, size = 417652 KiB no label, UUID=5ce3d626-5794-4990-9980-489d49e4d930[root@cs6 ~]# swapon /dev/sdb1 [root@cs6 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_cs6-lv_root26G 1.7G 24G 7% / tmpfs 931M 0 931M 0% /dev/shm /dev/sda1 477M 28M 424M 7% /boot [root@cs6 ~]# free -mtotal used free shared buffers cached Mem: 1989 176 1813 0 5 40 -/+ buffers/cache: 129 1860 Swap: 3479 0 3479 [root@cs6 ~]# swapoff /dev/sdb1 [root@cs6 ~]# free -mtotal used free shared buffers cached Mem: 1989 176 1813 0 5 40 -/+ buffers/cache: 129 1860 Swap: 3071 0 30718.15 swapoff:關閉交換分區
如果需要回收磁盤資源,則可以使用swapoff關閉交換分區釋放磁盤空間。 -a?? ?關閉所有交換分區 [root@cs6 ~]# swapoff -a [root@cs6 ~]# free -mtotal used free shared buffers cached Mem: 1989 174 1815 0 6 41 -/+ buffers/cache: 127 1862 Swap: 0 0 08.16 sync :刷新文件系統緩沖區
sync命令會將內存緩沖區內的數據強制刷新到磁盤。? Linux內核為了達到最佳的磁盤操作效率,默認會先在內存中將需要寫入到磁盤的數據緩存起來,然后等待合適的時機將它們真正寫入到磁盤中,這在絕大多數情況下都是沒有任何問題的,而且還提高了系統的效率,但是如果系統出現宕機、掉電等情況,就可能會導致有些文件內容沒能保存下來。當然,在Linux系統正常關機或者重啟時,會將緩沖區中的內容自動同步到磁盤中。我們也可以手工執行sync命令,將內存中的文件緩沖內容強制寫到磁盤中。 但是通常情況下沒有必要執行這個命令,一是Linux內核會盡快讓內存中的數據自動同步到磁盤上去,二是我們也無法預計什么時候會宕機、掉電。 [root@cs6 ~]# sync [root@cs6 ~]# sync總結
以上是生活随笔為你收集整理的8.12-14 df 、mkswap、swapon、swapoff、sync的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8.2-3 partprobe、tune
- 下一篇: 8.5-7 mkfs、dumpe2fs、