intella

優化 Intella 記憶體設定以達到最佳效能

介紹

本文探討 Intella 的記憶體管理機制,以及為何無法針對所有硬體與軟體配置設定出單一的最佳化參數。同時說明 Intella 各組件對記憶體的使用方式,以及為什麼記憶體調校並非僅僅將設定滑桿調至最大值那麼簡單。
也可參考以下影片說明:

Intella 的記憶體使用分為三個主要處理程序:

  • Case Manager(案件管理器)
  • Intella Main process(主程序)
  • Crawlers(爬取程序)

這些程序的記憶體分配由 Intella 自動管理。然而,實際使用的記憶體量會取決於所處理的資料項目與數位物件(artifacts)的數量與複雜度、Intella 執行所在機器的可用 RAM 容量,以及其他系統因素。

使用者可透過修改設定,為 Intella 的各個程序分配更多記憶體,並根據自身硬體與軟體配置調整 Crawler 的參數設定。透過使用者介面所進行的變更會立即生效,無需重新啟動 Intella。

Case Manager 記憶體設定

Case Manager 的記憶體設定僅用於分配給 Case Manager 程序本身,不會影響資料處理作業。預設情況下,該設定固定為 256MB,通常無須進行更改。

若需修改 Case Manager 的記憶體設定,請編輯位於 c:Program FilesVoundIntella X.Y.Z 資料夾中的 Intella.l4j.ini 檔案。找到以 -Xmx 開頭的設定行,並進行修改。例如,若要將 Case Manager 記憶體設定為 5GB,可使用以下參數:

  • -Xmx5g

主程序(Main Process)的記憶體設定

當使用者開啟案件時,Case Manager 會啟動 Main process(主程序),該程序負責控制 Intella 介面中所有可見的操作與功能。Main process 亦負責彙整並整合各個 crawler processes(爬取程序) 的輸出結果,將其寫入案件資料中。

在所有 Intella 進程中,Main process 通常是最耗用記憶體的部分。因此,Intella 在 Case Editor(案件編輯器) 視窗中設置了記憶體控制滑桿,讓使用者可依系統資源情況調整記憶體分配。

實際所需的記憶體量會因多種因素而異,例如所處理項目的數量與大小等。因此,Intella 提供記憶體調整滑桿,允許使用者依據自身的硬體配置與處理需求,手動調整 Main process(主程序) 的記憶體分配。

RAM detected Main process memory
16 GB4 GB
32 GB8 GB
64 GB12 GB
96 GB14 GB
128 GB16 GB
256 GB24 GB

Crawler 與匯出程序的記憶體設定

Crawler processes(爬取程序) 的記憶體分配由 Intella 自動計算。系統會根據可用的 RAM 容量,扣除分配給 Main process(主程序) 的記憶體後,再依據可用的爬取程序數量進行配置。預設情況下,Intella 會根據系統中的 CPU 核心數可用 RAM 自動決定應啟動的爬取程序數。

Crawler 設定不僅影響資料爬取,還同時控制多項相關程序,包括:

  • 匯出(Exporting)
  • Preview 分頁中的 PDF 轉換
  • 匯入 Load File 時的 TIFF 轉 PDF 處理
  • OCR 匯入時的文字擷取(Text Extraction)
  • Outlook 與 Notes 資料驗證

Crawler 的主要任務是擷取並收集資訊,其本身並不直接進行資料索引。索引(Indexing)會在後續的後處理階段(Post-processing)中,由 Main process 負責完成。

何時需要進行效能優化?

一般而言,無需更改此設定。然而,若需依據特定的處理需求或硬體配置進行效能優化,使用者可手動調整 Crawler 記憶體設定 以獲得更佳的處理效能。

優化記憶體與 Crawler 設定以提升效能

為了在使用 Intella 時充分發揮硬體資源的效能,適當地優化記憶體與 Crawler 設定 是關鍵。然而應注意,若手動將系統所有可用記憶體分配給 Intella 各進程,可能導致系統不穩定。建議不要將超過 75% 的總記憶體 分配給 Intella。

在設定記憶體時,也需考量 Intella 當前執行的處理階段。例如,在進行資料來源的 索引化(Indexing) 時,應將更多記憶體分配給 Crawler processes(爬取程序),特別是在多核心、高階硬體環境中同時運行多個爬取程序的情況下。於爬取階段(Crawling phase),Main process(主程序) 的記憶體需求相對較低;但在後續的 後處理階段(Post-processing phases),Main process 將需要顯著更多的記憶體資源。

若是在調查已完成索引的案件時,幾乎所有可用記憶體都應分配給 Main process,比例應與案件規模相符。換言之,若案件大小僅為 40GB,則無需為其分配 128GB 的記憶體。Intella 會根據硬體資源自動分配記憶體給不同進程,但使用者仍可依照自身硬體規格與資料集特性,手動微調記憶體與 Crawler 設定,以達到最佳效能。

最佳的記憶體與 Crawler 配置並無固定標準,需視資料類型而定。例如,若僅索引單一大型 PST 檔案,即使手動增加記憶體與 Crawler 數量,效能提升可能有限。在此情況下,系統預設的記憶體與 Crawler 數量通常已足以達到最佳效能。但若資料集包含大量 鬆散檔案(loose files)磁碟映像(disk images),則增加 Crawler 數量可明顯提升處理效率。此外,增加分配給 Crawler 的記憶體,也有助於避免因特定大型項目導致的 out-of-memory 錯誤Crawler 當機

總結

  • 在執行索引時,若資料集中包含大量鬆散檔案,增加 Crawler 數量可有效提升效能。
  • 增加分配給 Crawler 的記憶體可緩解因大型項目造成的記憶體不足或程序崩潰問題。
  • 在匯入 OCR 文字時,增加 Crawler 數量同樣能提升效能。
  • 在案件分析階段,應將幾乎所有可用記憶體分配給 Main process。
  • 當執行 PDF 或 PST 等格式匯出時,適度增加分配給 Crawler 的記憶體亦可改善整體效能。

效能優化步驟

Intella 的設定取決於多項因素,例如硬體規格與資料類型等。由於無法針對所有情境指定統一的最佳設定,因此以下步驟僅作為建議,使用者可依實際需求進行調整。

調整 Main Process 記憶體分配

  1. 開啟目標案件的 Case Editor(案件編輯器) 視窗。
  2. 透過滑桿(slider)調整 Main process(主程序) 的記憶體分配量。
  3. 滑桿最多可設定至系統總記憶體的一半,以確保 Windows 作業系統仍保有足夠記憶體,避免因資源不足導致系統不穩定。

變更 Crawler 數量

  1. 開啟目標案件的 Case Editor 視窗。
  2. 點擊 Advanced(進階) 按鈕以顯示進階設定。
  3. Crawler count(爬取程序數量) 選項由「Auto(自動)」改為「Manual(手動)」。
  4. 設定該案件所需的 Crawler 數量。

增加每個 Crawler 的記憶體分配

  1. 開啟目標案件的 Case Editor 視窗。
  2. 點擊 Advanced 按鈕以顯示進階設定。
  3. Service memory allocation(服務記憶體分配) 選項由「Auto」改為「Manual」。
  4. 使用滑桿設定每個 Crawler 所需的記憶體分配量。

在調整記憶體與 Crawler 設定時,請確保為所有 Crawler processes(爬取程序)Main process(主程序) 以及系統中其他應用程式保留足夠的記憶體資源。

Intella 也能使用未直接分配給它的記憶體。Windows 檔案系統 必須保留足夠的可用記憶體,以快取(cache)證據檔與案件索引檔。若將過多記憶體分配給 Intella 各進程,可能導致作業系統記憶體不足(memory starvation),進而影響整體系統穩定性。

為達到最佳效能,建議依據硬體規格與資料類型進行記憶體配置。例如,在使用 12 核心128GB RAM 的系統上索引一份 500GB E01 磁碟映像檔(其中包含大量文字型文件)時,可採用以下設定:

  • Main process 記憶體分配:16GB
  • Crawler 數量:4 至 8 個之間
  • 每個 Crawler 的記憶體(Service memory allocation):8GB

結論

在 Intella 中管理記憶體設定時,必須綜合考量硬體規格、資料類型及不同處理階段的需求。雖然 Intella 會自動為各進程分配記憶體,但若能進一步優化 記憶體Crawler 設定,將能顯著提升整體運作效能。

適當配置 記憶體Crawler 參數,是確保 Intella 在索引與案件分析過程中達到最高效能的關鍵。