歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

提升 UNIX 中文件系統使用效率


   文件系統是整個UNIX系統中與用戶關系最密切,用戶操作最頻繁的部分,隨著系統運行時間的延續,文件系統的使用效率也跟著下降,這主要表現為:硬盤空間的減少,垃圾信息的增加,尋址時間的增加等。本文將介紹幾種提高文件系統使用效率的方法,和大家共享,歡迎更正和補充。
   首先,我們應該對UNIX文件系統的結構有一個了解。文件系統是UNIX系統中的文件,目錄,以及對這些文件和目錄進行管理的數據結構的總稱。UNIX文件系統包括引導塊、超級塊、i節點區、文件存儲區、進程對換區等幾部分。
   引導塊占用第0號物理塊,不屬於文件系統管轄,如果系統中有多個文件系統,只有根文件系統才有引導程序放在引導塊中,其余文件系統都不使用引導塊;
   超級塊占用第1號物理塊,是文件系統的控制塊,超級塊包括:文件系統的大小、空閒塊數目、空閒塊索引表、空閒i節點數目、空閒i節點索引表、封鎖標記等。超級塊是系統為文件分配存儲空間、回收存儲空間的依據。
   而i節點是對文件進行控制和管理的一種數據結構。一個文件對應一個i節點,每個i節點都有一個唯一的i節點號,i節點由64個字節組成,保存了文件的屬性和類型、存放文件內容的物理塊地址、最近一次的存取時間、最近一次的修改時間、創建此文件的時間。要注意哦:i節點中並不包括文件名,文件名和文件占用的i節點的i節點號放在目錄文件的目錄項中。
   文件存儲區是存放文件內容的區域,文件存儲區中各數據塊的使用情況在超級塊中由記錄,系統利用超級塊中的記錄完成對數據塊的分配和回收。
   在文件系統的末尾還可能有進程對換區,這裡保留了對換到內存中的進程的映象,它不屬於文件系統管轄。相信通過上面的這段文字,兄弟們應該對文件系統有一個大致的了解了。
   為提高UNIX系統的運行效率,文件系統應該保持一定的空閒空間,理論上,空閒空間至少應占文件系統總空間的15%,當空閒空間小於總空間的15%時,UNIX系統操作將明顯變慢!因此系統管理員應該了解文件系統空閒時間和i節點的使用情況,保證系統的高效運行。系統管理員可以使用df命令了解空閒空間和i節點的使用情況。使用“df -v 文件系統”命令,可以顯示文件系統的使用情況:該文件系統數據塊的總數、已使用數據塊的數量、空閒數據塊的數量、使用的數據快占總數據塊的百分比。如果想顯示文件系統的i節點總數、空閒i節點的數目、已使用i節點數目以及已使用i節點占總i節點的百分比,可使用-i選項。比如在Solaris下,可執行:df -o i(注意哦:i前沒有“-”,呵呵)
   當文件系統中的空閒空間減少,以至於使文件系統的效率降低時,可采用以下措施:
   1.刪除臨時目錄下的文件
   臨時目錄下存放的都是臨時文件,臨時文件是在程序執行期間根據需要創建的,但沒有被及時刪除。系統中的臨時目錄一般有/var/tmp、/tmp和/usr/tmp。管理員可以手工刪除他們,也可以建立一個作業調度,使清理工作自動進行。比如在/usr/spool/cron/crontabs/root中加入以下代碼:
  
QUOTE:30 2 * * * find /var/tmp –atime 7 –exec rm{} \ ; >/dev/null
   30 2 * * * find /usr/tmp –atime 7 –exec rm{} \ ; >/dev/null
   30 2 * * * find /tmp –atime 7 –exec rm{} \ ; >/dev/null

   2.刪除core文件
   當系統中一些進程由於收到一些信號而非正常結束時,系統便建立一個core文件,記錄進程當時的一些信息,包括進程狀態、數據以及硬件寄存器的值等。在這些core文件沒有用的時候,可以考慮刪除它們。
   3.清除系統日志文件
   日志文件包含了有關系統運行情況的信息和用戶訪問系統的情況,系統在運行過程中,會不斷地把新的信息添加到日志文件中,因此日志文件會急劇增多,系統中主要的日志文件有:
   /usr/adm/acct 記帳日志文件
   /usr/adm/messages 系統信息日志文件
   /usr/adm/sulog 命令使用日志文件
   /usr/adm/vold.log 卷管理日志文件
   /usr/spool/uucp/LOGFILE uucp的記錄
   /usr/spool/uucp/.Log/.Old/* 舊的uucp日志文件
   /usr/spool/lp/logs/requests 打印請求記錄
   /var/log/syslog 系統日志文件
   上述有的日志文件對分析系統出現的故障有幫助,因此在清除時要慎重。
   4.壓縮不常使用的文件
   對平時不經常使用的文件可以進行壓縮,以便節省空間,壓縮與解壓縮的命令有:compress和uncompress;gzip和gunzip等命令。
   5.減少小文件的使用
   文件系統中的i節點數目是一定的,系統中如果小文件太多,會浪費很多的i節點,這樣可能會導致系統中雖然還有磁盤空間,但無法創建新文件的情況。可以把多個小文件合並成一個大文件以節省i節點,也可以刪除系統中不再需要的文件。
   6.增加文件系統i節點的數目
   從文件系統的結構看,一個文件占用一個i節點和若干個數據塊。當i節點用完時,可考慮在硬盤上重新建立文件系統,指定比較大的i節點數目。這時首先要備份原文件系統,然後卸載該文件系統,使用mkfs重新建立文件系統,指定更大的i節點數目,該命令的格式為:
   #mkfs 設備文件數目:新的i節點數目
   把新的文件系統安裝到系統中,最後利用備份恢復文件系統的內容。
Copyright © Linux教程網 All Rights Reserved