Linux系統(tǒng)中提高文件系統(tǒng)的使用效率 |
| 發(fā)布時間: 2012/8/26 17:46:18 |
|
文件系統(tǒng)是整個UNIX系統(tǒng)中與用戶關系最密切,用戶操作最頻繁的部分,隨著系統(tǒng)運行時間的延續(xù),文件系統(tǒng)的使用效率也跟著下降,這主要表現為:硬盤空間的減少,垃圾信息的增加,尋址時間的增加等。本文將介紹幾種提高文件系統(tǒng)使用效率的方法,和大家共享,歡迎更正和補充。
首先,我們應該對 UNIX文件系統(tǒng)的結構有一個了解。文件系統(tǒng)是UNIX系統(tǒng)中的文件,目錄,以及對這些文件和目錄進行管理的數據結構的總稱。UNIX文件系統(tǒng)包括引導 塊、超級塊、i節(jié)點區(qū)、文件存儲區(qū)、進程對換區(qū)等幾部分。引導塊占用第0號物理塊,不屬于文件系統(tǒng)管轄,如果系統(tǒng)中有多個文件系統(tǒng),只有根文件系統(tǒng)才有引 導程序放在引導塊中,其余文件系統(tǒng)都不使用引導塊;超級塊占用第1號物理塊,是文件系統(tǒng)的控制塊,超級塊包括:文件系統(tǒng)的大小、空閑塊數目、空閑塊索引 表、空閑i節(jié)點數目、空閑i節(jié)點索引表、封鎖標記等。超級塊是系統(tǒng)為文件分配存儲空間、回收存儲空間的依據。而i節(jié)點是對文件進行控制和管理的一種數據結 構。一個文件對應一個i節(jié)點,每個i節(jié)點都有一個唯一的i節(jié)點號,i節(jié)點由64個字節(jié)組成,保存了文件的屬性和類型、存放文件內容的物理塊地址、最近一次 的存取時間、最近一次的修改時間、創(chuàng)建此文件的時間。要注意哦:i節(jié)點中并不包括文件名,文件名和文件占用的i節(jié)點的i節(jié)點號放在目錄文件的目錄項中。文 件存儲區(qū)是存放文件內容的區(qū)域,文件存儲區(qū)中各數據塊的使用情況在超級塊中由記錄,系統(tǒng)利用超級塊中的記錄完成對數據塊的分配和回收。在文件系統(tǒng)的末尾還 可能有進程對換區(qū),這里保留了對換到內存中的進程的映象,它不屬于文件系統(tǒng)管轄。相信通過上面的這段文字,兄弟們應該對文件系統(tǒng)有一個大致的了解了。 為提高UNIX系統(tǒng)的運行效率,文件系統(tǒng)應該保持一定的空閑空間,理論上,空閑空間至少應占文件系統(tǒng)總空間的15%,當空閑空間小于總空間的15%時, UNIX系統(tǒng)操作將明顯變慢!因此系統(tǒng)管理員應該了解文件系統(tǒng)空閑時間和i節(jié)點的使用情況,保證系統(tǒng)的高效運行。系統(tǒng)管理員可以使用df命令了解空閑空間 和i節(jié)點的使用情況。使用“df -v 文件系統(tǒng)”命令,可以顯示文件系統(tǒng)的使用情況:該文件系統(tǒng)數據塊的總數、已使用數據塊的數量、空閑數據塊的數量、使用的數據快占總數據塊的百分比。如果想 顯示文件系統(tǒng)的i節(jié)點總數、空閑i節(jié)點的數目、已使用i節(jié)點數目以及已使用i節(jié)點占總i節(jié)點的百分比,可使用-i選項。比如在Solaris下,可執(zhí)行: df -o i(注意哦:i前沒有“-”)。 當文件系統(tǒng)中的空閑空間減少,以至于使文件系統(tǒng)的效率降低時,可采用以下措施: 1.刪除臨時目錄下的文件 臨時目錄下存放的都是臨時文件,臨時文件是在程序執(zhí)行期間根據需要創(chuàng)建的,但沒有被及時刪除。系統(tǒng)中的臨時目錄一般有/var/tmp、/tmp和 /usr/tmp。管理員可以手工刪除他們,也可以建立一個作業(yè)調度,使清理工作自動進行。比如在 /usr/spool/cron/crontabs/root中加入以下代碼:
2.刪除core文件 當系統(tǒng)中一些進程由于收到一些信號而非正常結束時,系統(tǒng)便建立一個core文件,記錄進程當時的一些信息,包括進程狀態(tài)、數據以及硬件寄存器的值等。在 這些core文件沒有用的時候,可以考慮刪除它們。core文件的刪除,應該首先確認要刪除的core文件是否還有使用價值,可通過file core命令查看是由哪些進程產生的,在確認對調試程序沒用的時候再進行刪除,也可以通過下面的命令來刪除10天內未存取過的core文件:find / -name core –atime +10 –exec rm –f {} \ 3.清除系統(tǒng)日志文件 日志文件包含了有關系統(tǒng)運行情況的信息和用戶訪問系統(tǒng)的情況,系統(tǒng)在運行過程中,會不斷地把新的信息添加到日志文件中,因此日志文件會急劇增多,系統(tǒng)中主要的日志文件有:
上述有的日志文件對分析系統(tǒng)出現的故障有幫助,因此在清除時要慎重。 4.壓縮不常使用的文件 對平時不經常使用的文件可以進行壓縮,以便節(jié)省空間,壓縮與解壓縮的命令有:compress和uncompress;gzip和gunzip等命令。 5.減少小文件的使用 文件系統(tǒng)中的i節(jié)點數目是一定的,系統(tǒng)中如果小文件太多,會浪費很多的i節(jié)點,這樣可能會導致系統(tǒng)中雖然還有磁盤空間,但無法創(chuàng)建新文件的情況?梢园讯鄠小文件合并成一個大文件以節(jié)省i節(jié)點,也可以刪除系統(tǒng)中不再需要的文件。 6.增加文件系統(tǒng)i節(jié)點的數目 從文件系統(tǒng)的結構看,一個文件占用一個i節(jié)點和若干個數據塊。當i節(jié)點用完時,可考慮在硬盤上重新建立文件系統(tǒng),指定比較大的i節(jié)點數目。這時首先要備份原文件系統(tǒng),然后卸載該文件系統(tǒng),使用mkfs重新建立文件系統(tǒng),指定更大的i節(jié)點數目,該命令的格式為: 。kfs 設備文件數目:新的i節(jié)點數目關于i節(jié)點數,管理員應該根據實際情況,綜合考慮存儲設備的物理大小和文件系統(tǒng)中文件的平均大小等因素來定,個人認為,并不 是越多越好。在新建文件系統(tǒng)后,可通過df –o i命令,參考原來文件系統(tǒng)的節(jié)點數,來定義新的i節(jié)點數。 把新的文件系統(tǒng)安裝到系統(tǒng)中,最后利用備份恢復文件系統(tǒng)的內容。 本文出自:億恩科技【www.627783.com】 2.刪除core文件 當系統(tǒng)中一些進程由于收到一些信號而非正常結束時,系統(tǒng)便建立一個core文件,記錄進程當時的一些信息,包括進程狀態(tài)、數據以及硬件寄存器的值等。在 這些core文件沒有用的時候,可以考慮刪除它們。core文件的刪除,應該首先確認要刪除的core文件是否還有使用價值,可通過file core命令查看是由哪些進程產生的,在確認對調試程序沒用的時候再進行刪除,也可以通過下面的命令來刪除10天內未存取過的core文件:find / -name core –atime +10 –exec rm –f {} \ 3.清除系統(tǒng)日志文件 日志文件包含了有關系統(tǒng)運行情況的信息和用戶訪問系統(tǒng)的情況,系統(tǒng)在運行過程中,會不斷地把新的信息添加到日志文件中,因此日志文件會急劇增多,系統(tǒng)中主要的日志文件有:
上述有的日志文件對分析系統(tǒng)出現的故障有幫助,因此在清除時要慎重。 4.壓縮不常使用的文件 對平時不經常使用的文件可以進行壓縮,以便節(jié)省空間,壓縮與解壓縮的命令有:compress和uncompress;gzip和gunzip等命令。 5.減少小文件的使用 文件系統(tǒng)中的i節(jié)點數目是一定的,系統(tǒng)中如果小文件太多,會浪費很多的i節(jié)點,這樣可能會導致系統(tǒng)中雖然還有磁盤空間,但無法創(chuàng)建新文件的情況?梢园讯鄠小文件合并成一個大文件以節(jié)省i節(jié)點,也可以刪除系統(tǒng)中不再需要的文件。 6.增加文件系統(tǒng)i節(jié)點的數目 從文件系統(tǒng)的結構看,一個文件占用一個i節(jié)點和若干個數據塊。當i節(jié)點用完時,可考慮在硬盤上重新建立文件系統(tǒng),指定比較大的i節(jié)點數目。這時首先要備份原文件系統(tǒng),然后卸載該文件系統(tǒng),使用mkfs重新建立文件系統(tǒng),指定更大的i節(jié)點數目,該命令的格式為: #mkfs 設備文件數目:新的i節(jié)點數目關于i節(jié)點數,管理員應該根據實際情況,綜合考慮存儲設備的物理大小和文件系統(tǒng)中文件的平均大小等因素來定,個人認為,并不 是越多越好。在新建文件系統(tǒng)后,可通過df –o i命令,參考原來文件系統(tǒng)的節(jié)點數,來定義新的i節(jié)點數。 把新的文件系統(tǒng)安裝到系統(tǒng)中,最后利用備份恢復文件系統(tǒng)的內容。 本文出自:億恩科技【www.enidc.com】 --> |
京公網安備41019702002023號