賽迪網 > IT技術 Linux > Shell命令
  IT資訊搜索
 
IT產品搜索
[程式開發][網管世界][網路安全][數據庫技術]
[作業系統][嘉賓聊天·線上訪談][活動集錦]
[精彩專題][Symantec專區][訂閱IT技術週刊]
[開發論壇][網管論壇][安全論壇][數據庫論壇]
[作業系統論壇][Sybase專區][IBM dW技術專區]
[病毒求助][病毒與漏洞播報][文檔·源碼下載]

測試Linux平臺Inode使用情況的過程命令

發佈時間:2008.06.27 05:29     來源:賽迪網    作者:sixth

Linux/Unix like OS 的文件系統中每個目錄樹中的節點並不是像 Windows 那樣直接包含文件的具體資訊,而只包含了文件名和 Inode number 。通過 Inode number 所找到對應于文件名的 Inode 節點中才真正記錄了文件的大小/物理地址/所有者/訪問許可權/時間戳/被硬鏈結的次數等實際的 metadata 。因此你可以在 Linux 系統中通過硬鏈結( hard link ) 的方式給某個文件創建無數個位於不同目錄下的文件名,而實際的文件數據只需要一份拷貝。

但也正因為這種文件系統的結構,當你在 Linux 中進行 IO 操作的時候,需要的資源除了磁片空間以外,還要有剩餘的 Inode 才行。缺省情況下, Linux 在系統安裝過程中按照1個 Inode 對應 2k 磁片空間來計算每個分區的最大 Inode 數。一旦文件系統創建之後,每個分區可用 Inode 數就無法進行動態調整。正常來說,一般不太會出現某個分區的 Inode 耗盡而磁片空間尚余的情況,除非像我碰到的這樣垃圾小文件瘋長而又沒進行有效的清理。但如果確實需要的話,可以在創建文件系統(比如用 mke2fs )的時候根據實際需要來調整這個參數(比如分區如果用於存放超大視頻文件的話 Inode 的數量可以少一些;如果打算存放的文件是大量小于 2k 的迷你文件的話就要考慮多創建一些 Inode)。

使用df -i命令可以看到每個分區的總inode數目和被使用的以及空閒的inode數目

首先我們測試一下將Inode佔用完的情況:先找到一個200K大小的文件(test.log),然後通過如下命令將其拆成數個小文件:

split -a 10 -b 1 test.log z

多次重復以上的動作,即可將Inode全部佔用完.此時導致的現象是雖然通過df -k可以查看系統還存在剩餘的空間,但由於無法分配Inode,導致無法新建新文件了.

通過如下命令可以將這些大量的小文件刪除:

find ~ -name "*.log" | xargs -L rm

注意不能直接通過rm命令刪除,因為rm命令是將被刪除的文件作為一個又一個參數傳遞進來的,當被刪除的文件過多時,容易導致出現參數過長的錯誤提示:arg list too long

當Inode被用盡時,也會導致Oracle的監聽進程啟動錯誤。

(責任編輯:雲子)


[ 發表評論 ] 字體[  ] [ 列印 ] [ 進入博客 ] [ 進入論壇 ]  [ 推薦給朋友 ]
  相關文章
· Linux基金會希望NVIDIA顯卡驅動開放源碼 (06-26) · Linux系統下推薦使用的5個螢幕錄影軟體 (06-25)
· 瀏覽器之爭:Opera 9.5極地反攻Firefox 3 (06-24) · 紅帽公司推出實時功能和高性能消息處理 (06-24)
· Linux下Compiz Fusion新特效Stackswitch (06-24) · Linux環境下Java開發 Linux和Windows比較 (06-24)
· Vim編譯器配合ctags實現函數原型快速定位 (06-24) · 使用initrd文件系統 U-boot引導Linux方法 (06-24)
· 新手學堂:Linux作業系統下硬盤挂載方法 (06-24) · Shell基礎學習:關於Wget命令的使用技巧 (06-24)
  客戶需求反饋表
* 姓  名:
更多資料  了解方案  認識廠商
* 單位名稱:
* 聯繫電話:
* 電子郵件:
  賽迪推薦  
  手機·資費 ·新品·導購·評測·手機資費·寬帶
手機搜索  諾基亞 N73 MOTO Z6
  IT產品 ·筆記本·臺式機·伺服器·列印·投影
IT產品搜索 
  IT技術 ·開發·網管·安全·數據庫·作業系統
  資訊化 ·熱點·專題·訪談·週刊·方案案例
· 網站建設市場重新洗牌 一卡通引領革命潮流
· 北京加快資訊化建設 醫保一卡通年底前啟動
· ERP案例分析 SaaS帶來衝擊 IT服務商面臨挑戰
· 通方期貨CRM解決方案 房地產行業CRM解決方案
  IT博客 ·曾劍秋·項立剛·Java學習·網管
  IT技術論壇 ·開發·網管·安全·數據庫·系統