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_root
                     1738080 23547 1714533    2% /
tmpfs                 238145     1  238144    1% /dev/shm
/dev/sda1             128016    38  127978    1% /boot

 參數-t顯示指定類型的磁盤。node

[root@cs6 data1]# df -t ext4    #<== -t 後面接文件系統類型,如ext2/ext3/ext4。
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/mapper/vg_cs6-lv_root
                      27228028 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_root
                     ext4   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查看磁盤空間,結果發現磁盤沒滿,那麼請問這多是什麼緣由?app

 
多是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_root
                       26G  1.7G   24G   7% /
tmpfs                 931M     0  931M   0% /dev/shm
/dev/sda1             477M   28M  424M   7% /boot
[root@cs6 ~]# free -m
             total       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 -m
             total       used       free     shared    buffers     cached
Mem:          1989        176       1813          0          5         40
-/+ buffers/cache:        129       1860
Swap:         3071          0       3071 

8.15 swapoff:關閉交換分區

若是須要回收磁盤資源,則可使用swapoff關閉交換分區釋放磁盤空間。
 
-a    關閉全部交換分區
 
[root@cs6 ~]# swapoff -a
[root@cs6 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1989        174       1815          0          6         41
-/+ buffers/cache:        127       1862
Swap:            0          0          0 

8.16 sync :刷新文件系統緩衝區

    sync命令會將內存緩衝區內的數據強制刷新到磁盤。 
    Linux內核爲了達到最佳的磁盤操做效率,默認會先在內存中將須要寫入到磁盤的數據緩存起來,而後等待合適的時機將它們真正寫入到磁盤中,這在絕大多數狀況下都是沒有任何問題的,並且還提升了系統的效率,可是若是系統出現宕機、掉電等狀況,就可能會致使有些文件內容沒能保存下來。固然,在Linux系統正常關機或者重啓時,會將緩衝區中的內容自動同步到磁盤中。咱們也能夠手工執行sync命令,將內存中的文件緩衝內容強制寫到磁盤中。
 
    可是一般狀況下沒有必要執行這個命令,一是Linux內核會盡快讓內存中的數據自動同步到磁盤上去,二是咱們也沒法預計何時會宕機、掉電。
[root@cs6 ~]# sync
[root@cs6 ~]# sync
相關文章
相關標籤/搜索