文章詳情頁
提升UNIX中文件系統(tǒng)使用效率
瀏覽:5日期:2024-06-18 16:55:29
文件系統(tǒng)是整個Unix系統(tǒng)中與用戶關系最密切,用戶操作最頻繁的部分,隨著系統(tǒng)運行時間的延續(xù),文件系統(tǒng)的使用效率也跟著下降,這主要表現(xiàn)為:硬盤空間的減少,垃圾信息的增加,尋址時間的增加等。本文將介紹幾種提高文件系統(tǒng)使用效率的方法,和大家共享,歡迎更正和補充。 首先,我們應該對UNIX文件系統(tǒng)的結構有一個了解。文件系統(tǒng)是UNIX系統(tǒng)中的文件,目錄,以及對這些文件和目錄進行管理的數(shù)據(jù)結構的總稱。UNIX文件系統(tǒng)包括引導塊、超級塊、i節(jié)點區(qū)、文件存儲區(qū)、進程對換區(qū)等幾部分。 引導塊占用第0號物理塊,不屬于文件系統(tǒng)管轄,如果系統(tǒng)中有多個文件系統(tǒng),只有根文件系統(tǒng)才有引導程序放在引導塊中,其余文件系統(tǒng)都不使用引導塊; 超級塊占用第1號物理塊,是文件系統(tǒng)的控制塊,超級塊包括:文件系統(tǒng)的大小、空閑塊數(shù)目、空閑塊索引表、空閑i節(jié)點數(shù)目、空閑i節(jié)點索引表、封鎖標記等。超級塊是系統(tǒng)為文件分配存儲空間、回收存儲空間的依據(jù)。 而i節(jié)點是對文件進行控制和管理的一種數(shù)據(jù)結構。一個文件對應一個i節(jié)點,每個i節(jié)點都有一個唯一的i節(jié)點號,i節(jié)點由64個字節(jié)組成,保存了文件的屬性和類型、存放文件內(nèi)容的物理塊地址、最近一次的存取時間、最近一次的修改時間、創(chuàng)建此文件的時間。要注意哦:i節(jié)點中并不包括文件名,文件名和文件占用的i節(jié)點的i節(jié)點號放在目錄文件的目錄項中。 文件存儲區(qū)是存放文件內(nèi)容的區(qū)域,文件存儲區(qū)中各數(shù)據(jù)塊的使用情況在超級塊中由記錄,系統(tǒng)利用超級塊中的記錄完成對數(shù)據(jù)塊的分配和回收。 在文件系統(tǒng)的末尾還可能有進程對換區(qū),這里保留了對換到內(nèi)存中的進程的映象,它不屬于文件系統(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)數(shù)據(jù)塊的總數(shù)、已使用數(shù)據(jù)塊的數(shù)量、空閑數(shù)據(jù)塊的數(shù)量、使用的數(shù)據(jù)快占總數(shù)據(jù)塊的百分比。如果想顯示文件系統(tǒng)的i節(jié)點總數(shù)、空閑i節(jié)點的數(shù)目、已使用i節(jié)點數(shù)目以及已使用i節(jié)點占總i節(jié)點的百分比,可使用-i選項。比如在Solaris下,可執(zhí)行:df -o i(注意哦:i前沒有“-”,呵呵) 當文件系統(tǒng)中的空閑空間減少,以至于使文件系統(tǒng)的效率降低時,可采用以下措施: 1.刪除臨時目錄下的文件 臨時目錄下存放的都是臨時文件,臨時文件是在程序執(zhí)行期間根據(jù)需要創(chuàng)建的,但沒有被及時刪除。系統(tǒng)中的臨時目錄一般有/var/tmp、/tmp和/usr/tmp。管理員可以手工刪除他們,也可以建立一個作業(yè)調(diào)度,使清理工作自動進行。比如在/usr/spool/cron/crontabs/root中加入以下代碼: 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文件 當系統(tǒng)中一些進程由于收到一些信號而非正常結束時,系統(tǒng)便建立一個core文件,記錄進程當時的一些信息,包括進程狀態(tài)、數(shù)據(jù)以及硬件寄存器的值等。在這些core文件沒有用的時候,可以考慮刪除它們。 3.清除系統(tǒng)日志文件 日志文件包含了有關系統(tǒng)運行情況的信息和用戶訪問系統(tǒng)的情況,系統(tǒng)在運行過程中,會不斷地把新的信息添加到日志文件中,因此日志文件會急劇增多,系統(tǒng)中主要的日志文件有: /usr/adm/acct 記帳日志文件 /usr/adm/messages 系統(tǒng)信息日志文件 /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 系統(tǒng)日志文件 上述有的日志文件對分析系統(tǒng)出現(xiàn)的故障有幫助,因此在清除時要慎重。 4.壓縮不常使用的文件 對平時不經(jīng)常使用的文件可以進行壓縮,以便節(jié)省空間,壓縮與解壓縮的命令有:compress和uncompress;gzip和gunzip等命令。 5.減少小文件的使用 文件系統(tǒng)中的i節(jié)點數(shù)目是一定的,系統(tǒng)中如果小文件太多,會浪費很多的i節(jié)點,這樣可能會導致系統(tǒng)中雖然還有磁盤空間,但無法創(chuàng)建新文件的情況??梢园讯鄠€小文件合并成一個大文件以節(jié)省i節(jié)點,也可以刪除系統(tǒng)中不再需要的文件。 6.增加文件系統(tǒng)i節(jié)點的數(shù)目 從文件系統(tǒng)的結構看,一個文件占用一個i節(jié)點和若干個數(shù)據(jù)塊。當i節(jié)點用完時,可考慮在硬盤上重新建立文件系統(tǒng),指定比較大的i節(jié)點數(shù)目。這時首先要備份原文件系統(tǒng),然后卸載該文件系統(tǒng),使用mkfs重新建立文件系統(tǒng),指定更大的i節(jié)點數(shù)目,該命令的格式為: #mkfs 設備文件數(shù)目:新的i節(jié)點數(shù)目 把新的文件系統(tǒng)安裝到系統(tǒng)中,最后利用備份恢復文件系統(tǒng)的內(nèi)容。
標簽:
Unix系統(tǒng)
排行榜
