Duc
高效能磁碟用量分析工具
軟體分類 系統管理 / 磁碟分析
軟體標籤
KVMSSH二維條碼
開發廠商 Iulius Curt (zevv)
產品說明
Duc 是一款專為處理海量檔案系統(Filesystems with millions of files)設計的磁碟使用量分析工具。與傳統的 du 或 ncdu 不同,Duc 不會每次都重新掃描整個硬碟,而是將磁碟使用資訊建立索引並儲存在一個高效能的資料庫中。
這意味著一旦索引建立完成,您就可以瞬間查詢任何目錄的大小,甚至繪製出精美的圖表,而無需再次經歷漫長的掃描等待。Duc 提供了多種操作介面,包括傳統的命令列工具(CLI)、類似 ncdu 的文字圖形介面(Ncurses UI),以及絢麗的圖形化介面(OpenGL GUI),能以「陽光放射圖 (Sunburst Graph)」直觀地顯示檔案佔用情形。
核心特色:
- 資料庫索引:採用高效能的鍵值資料庫(如 Tokyo Cabinet, LevelDB 或 SQLite)儲存目錄結構,極大幅度提升再次查詢的速度。
- 多樣化介面:同時支援適合伺服器的 CLI/TUI 模式,以及適合桌面的 GUI 視覺化模式。
- 視覺化圖表:支援繪製 Sunburst(放射狀)圖表,讓深層目錄的佔用情況一目了然。
- 極高擴展性:專為 PB 級別的儲存系統與數億個檔案設計,不會像傳統工具那樣在掃描大型儲存設備時卡頓或崩潰。
常用指令
Duc 的操作邏輯分為「建立索引」與「查詢/檢視」兩個階段。
1. 建立索引 (Index)
在使用 Duc 之前,必須先針對目標目錄建立索引資料庫。
# 建立 /usr 目錄的索引,並將資料庫儲存在預設位置 (~/.duc.db)
duc index /usr
# 建立整個根目錄的索引,並排除不需要掃描的掛載點 (如 /proc, /sys)
duc index --exclude=/proc --exclude=/sys /
| 參數選項 | 功能說明 | 範例 |
|---|---|---|
index | 執行索引建立動作 | duc index /home |
--database | 指定資料庫檔案路徑 | duc index --database=/var/cache/duc.db /usr |
--exclude | 排除特定目錄 | --exclude=/tmp |
--progress | 顯示索引建立進度 | (無數值) |
2. 檢視與查詢 (Visualize & Query)
索引建立後,即可使用以下指令進行快速查詢或視覺化。
# 使用文字圖形介面 (TUI) 瀏覽,操作方式類似 ncdu (適合 SSH 連線)
duc ui /usr
# 使用圖形化介面 (GUI) 顯示放射狀圖表 (需要桌面環境支援)
duc gui /usr
# 使用命令列直接列出前 5 大佔用空間的目錄
duc ls -Fg /usr | head -n 5
進階技巧 (CGI 網頁模式):
Duc 甚至包含了一個 CGI wrapper,讓您可以將它部署在網頁伺服器上,透過瀏覽器遠端查看伺服器的磁碟使用量分佈圖,非常適合用於 NAS 或檔案伺服器的監控看板。
操作介面
下圖展示了 Duc 標誌性的 Sunburst(放射狀)圖表介面,外圈代表子目錄,點擊即可層層深入分析:




