DDOS 實體容量測量或實體容量報告常見問題
摘要: Data Domain 作業系統 (DD OS) 實體容量測量 (PCM) 或實體容量報告 (PCR) 常見問題。
說明
Data Domain 作業系統 (DD OS) 5.7 版推出新的功能,稱為實體容量測量 (PCM) 或實體容量報告 (PCR)。
本文介紹有關此功能的常見用例和問題。本文件可互換使用 PCM 和 PCR。
什麼是實體容量測量 (PCM)?
PCM 是 DD OS 5.7 及更新版本支援的新功能,可透過目錄樹狀結構、目錄樹狀集合、mtree 或 MTree 集合來計算準確的硬碟使用率。
此功能與先前版本的 DDOS 功能有何不同?
在 DDR 上接收檔時,我們會記錄有關該文件的各種統計資訊。其中一個統計資料是「後 lc 位元組」或檔案寫入系統時佔用的實體空間量。我們可以使用 filesys show compression 命令 - 例如:
sysadmin@dd9500# filesys show compression /data/col1/jf1 Total files: 4; bytes/storage_used: 1.3 Original Bytes: 4,309,378,324 Globally Compressed: 3,242,487,836 Locally Compressed: 3,293,594,658 Meta-data: 13,897,112
這表示上述目錄樹狀結構包含四個檔案,在消化時總共使用了 3,293,594,658 位元組 (3.07Gb) 的實體空間。
PCM 旨在避免因上述統計資料過時而導致結果不一致。由於 PCM 可產生特定時間點的硬碟使用率報告,因此上述限制已不再適用,且保證結果更加準確。
是否有任何已知的事實或設置,其中PCM計算的結果低於最佳準確性?
PCM 執行採樣以計算路徑集中檔使用的磁碟空間。這意味著某些檔可能會被排除在唯一段的枚舉之外,因為出於性能原因,不考慮小於給定大小的檔。PCM 作業考慮枚舉的路徑集中單個檔的最小大小(因此它考慮用於的磁碟空間的大小)取決於平均文件系統段大小:
- 如果平均段大小為 4 K,則 PCM 將忽略 4 MB 及更小的檔
- 如果平均段大小為 8 K,則 PCM 將忽略 8 MB 及更小的檔
- 如果平均區段大小為 12 K,則 PCM 會忽略 12 MB 及更小檔案
實際客戶資料顯示,在最常見的使用案例中,平均區段大小徘徊在 9 KB 左右,因此,當 PCM 計算使用的磁碟空間時,不考慮檔案的近似數位是小於 9 MB 的檔案。
PCM 是否需要任何額外的授權?
否 - PCM 並非授權功能,因此使用 PCM 不需要額外授權。
是否所有平台都支援 PCM?
否 - 所有硬體和虛擬 Data Domain 裝置 (DDVE) 均支援 PCM,但物件儲存動作層 (ATOS) DDVE 除外。
PCM 僅測量和列舉活動層上的檔:位於雲端裝置中的檔案 (或舊版「延長保留」的檔案,則位於歸檔器單位中的檔案) 不在 PCM 工作的大小計算中。
在使用 PCM 之前,是否需要任何其他先決條件?
依預設,DDOS 5.7 中的 PCM 為停用。在使用它之前,必須啟用它並初始化其緩存,如下所示:
sysadmin@dd9500# compression physical-capacity-measurement enable and-initialize physical-capacity-measurement enabled. Initialization started.
注意:PCM 快取用於加快未來的 PCM 作業,緩存的初始化可能需要相當長的時間。儘管有這些,PCM 作業可能會在初始化 PCM 快取時開始排隊。
PCM 如何計算總使用量?
PCM 使用 mtree 快照來判斷一組檔案的實體使用率。因此,當 PCM 作業啟動時,將發生以下情況:
- 會針對基礎 MTree 建立 mtree 快照。
sysadmin@dd9500# snapshot list mtree /data/col1/jf2 Snapshot Information for MTree: /data/col1/jf2 ---------------------------------------------- Name Pre-Comp (GiB) Create Date Retain Until Status --------------------------------- -------------- ----------------- ----------------- ------- pcr_snap_1440284055_1440360259_19 6.0 Aug 23 2015 13:04 Dec 31 1969 16:00 expired --------------------------------- -------------- ----------------- ----------------- -------
- PCM 會從快照中尋找要在 PCM 工作中的檔案 (即在指定的路徑集或 MTrees 中)。
- PCM 遍歷這些檔的分段樹,實質上是構建所有檔引用的唯一分段指紋清單。
- 然後,PCM 在磁碟上(在容器集中)查找相應的段,並計算這些段的大小總和。
-
這些區段的大小總和代表對應檔案目前的硬碟使用率。
- 除上述內容外,還可以從相應的檔元數據中找到檔集的預壓縮大小。
- PCM 工作完成後,基礎 PCM 快照就會過期,以供日後移除。
PCM 作業如何工作?
PCM 作業由使用者(或計劃)提交,並添加到 PCM 工作佇列中。根據系統工作負荷而定,可能會從佇列中選取並立即啟動 PCM 工作,或者可能會延後一段時間。
PCM 作業可能延遲的範例如下:
- 作用層清理正在系統上執行 - PCM 工作和作用層清理無法同時執行。因此,在作用層清理正在執行時排入佇列的 PCM 作業會延後到作用層清理完成。
- 已有一些 PCM 工作針對底層 MTree 執行 - PCM 使用 mtree 快照,而且在指定時間,特定使用者可針對單一 mtree 建立的 PCM 快照數量有嚴格的限制。如果新的 PCM 作業超過了這些限制,則作業將推遲到現有作業完成。
是否可以控制系統上 PCM 使用的資源?
PCM 使用類似於作用層清理所使用的節流機制,也就是 PCM 節流可設定為 0 (非主動式) 至 100 (主動式)。顯然,節流越高,PCM 使用的資源就越多,PCM 作業對系統上其他工作負載的影響就越大。
依預設,PCM 節流設定為 20,也就是:
sysadmin@dd9500# compression physical-capacity-measurement throttle show Throttle is set to 20 percent (default).
PCM 節流可按如下方式修改,並立即變更為節流 (亦即 PCM 不需要重新啟動 DDFS 即可選擇新的節流設定):
sysadmin@dd9500# compression physical-capacity-measurement throttle set 50 Throttle set to 50 percent.
什麼是路徑集?
PCM 作業可以通過兩種方式運行,即:
- 針對預定義的「路徑集」(即使用者指定的目錄集合)
- 針對單一 mtree
在可以針對給定路徑集運行作業之前,必須按如下方式創建或定義路徑集:
sysadmin@dd9500# compression physical-capacity-measurement pathset create jfall paths /data/col1/jf1,/data/col1/jf2 Pathset "jfall" created.可以將特定目錄添加到現有路徑集或從中刪除,如下所示:
sysadmin@dd9500# compression physical-capacity-measurement pathset del jfall paths /data/col1/jf2 Path(s) deleted from pathset "jfall". sysadmin@dd9500# compression physical-capacity-measurement pathset add jfall paths /data/col1/jf2 Path(s) added to pathset "jfall".
所有建立的路徑集顯示如下:
sysadmin@dd9500# compression physical-capacity-measurement pathset show list Pathset Number of paths Measurement-retention (days) --------------- --------------- ---------------------------- jf1 1 180 jf2 1 180 jfall 2 180 phys-gandhi3 1 180 phys-gandhi5-fc 1 180 phys-gandhi5 1 180 phys2-gandhi3 2 180 --------------- --------------- ---------------------------- 7 pathset(s) found.
要查看路徑集中定義的特定路徑,請參閱 pathset show detailed 命令是使用的:
sysadmin@dd9500# compression physical-capacity-measurement pathset show detailed jfall Pathset: jfall Number of paths: 2 Measurement-retention: 180 day(s) Paths: /data/col1/jf1 /data/col1/jf2 sysadmin@dd9500#
要刪除路徑,請將 pathset destroy 可以使用的命令:
sysadmin@dd9500# compression physical-capacity-measurement pathset destroy jfall
注意:這將刪除給定路徑集的所有歷史記錄。
PCM 作業是如何開始的?
新的 PCM 工作會透過使用 sample start 命令,即:
sysadmin@dd9500# compression physical-capacity-measurement sample start pathsets jfall Measurement task(s) submitted and will begin as soon as resources are available.
在上述範例中,我們使用了預先定義的路徑集。若要針對單一 mtree 提交 PCM 工作,請指定 mtree,也就是:
sysadmin@dd9500# compression physical-capacity-measurement sample start mtrees /data/col1/backup Measurement task(s) submitted and will begin as soon as resources are available.
默認情況下,提交 PCM 作業的優先順序為“正常”。也可以指定緊急的優先順序:
sysadmin@dd9500# compression physical-capacity-measurement sample start pathsets jf1 priority urgent Measurement task(s) submitted and will begin as soon as resources are available.
優先順序為“緊急”的工作排在優先順序為“正常”的工作之前(這意味著它們優先於任何提交的優先順序為“正常”的工作被拾取和工作)。
已提交或執行的工作清單會使用 sample show current 命令,例如:
sysadmin@dd9500# compression physical-capacity-measurement sample show current Task ID Type Name User State Creation Time Measurement Time Start Time Priority Percent (Submitted Time) Done ----------- ---- ----- -------- --------- ------------------- ------------------- ---------- -------- -------- 47244640259 PS jf2 sysadmin Scheduled 2015/08/23 12:24:12 2015/08/23 12:24:12 -- Urgent 0 47244640258 PS jf1 sysadmin Scheduled 2015/08/23 12:24:09 2015/08/23 12:24:09 -- Urgent 0 47244640257 PS jfall sysadmin Scheduled 2015/08/23 12:23:06 2015/08/23 12:23:06 -- Normal 0 ----------- ---- ----- -------- --------- ------------------- ------------------- ---------- -------- -------- sysadmin@dd9500#
是否可以排定 PCM 工作?
是 - 如果必須定期運行特定的 PCM 作業,則會根據需要計劃自動運行該作業。例如:
sysadmin@dd9500# compression physical-capacity-measurement schedule create jf_sched pathsets jfall,jf1,jf2 time 1400 Schedule "jf_sched" created.
注意:創建計劃以每天、在一周中的特定日期或每月的某些日期運行。
現有排程可使用 schedule modify 命令:
sysadmin@dd9500# compression physical-capacity-measurement schedule modify jf_sched priority urgent time 1700 day Wed,Fri Schedule "jf_sched" modified.
此外,現有計劃可能會添加或刪除路徑集,如下所示:
sysadmin@dd9500# compression physical-capacity-measurement schedule del jf_sched pathsets jf2 Schedule "jf_sched" modified. sysadmin@dd9500# compression physical-capacity-measurement schedule add jf_sched pathsets jf2 Schedule "jf_sched" modified.
注意:排程不能只包含路徑集或 MTree (即兩者不能混用):
sysadmin@dd9500# compression physical-capacity-measurement schedule create jf_sched2 mtrees /data/col1/backup time 1400 Schedule "jf_sched2" created. sysadmin@dd9500# compression physical-capacity-measurement schedule add jf_sched2 pathsets jfall **** Failed to add: this schedule is only for mtrees.
若要檢視現有排程的詳細資料, schedule show all 使用命令,例如:
sysadmin@dd9500# compression physical-capacity-measurement schedule show all Name: jf_sched Status: enabled Priority: urgent Frequency: weekly on Wed, Fri Time: 17:00 Pathset(s): jfall jf1 jf2 Name: jf_sched2 Status: enabled Priority: normal Frequency: daily Time: 14:00 MTree(s): /data/col1/backup
現有的排程可能會停用或立即啟用,也就是:
sysadmin@dd9500# compression physical-capacity-measurement schedule disable jf_sched2 Schedule "jf_sched2" disabled. sysadmin@dd9500# compression physical-capacity-measurement schedule enable jf_sched2 Schedule "jf_sched2" enabled.
時程表也可能被銷毀:
sysadmin@dd9500# compression physical-capacity-measurement schedule destroy jf_sched2 Schedule "jf_sched2" destroyed.
注意:這不會移除對應的 mtree/路徑集歷程記錄 (這表示不會自動排定新的 PCM 工作)。
排程工作是如何開始的?
新增並啟用 PCM 排程後,會將對應的項目新增至 /etc/crontab,即:
# # collection.1.crontab.pcr.jf_sched.0 # 00 17 * * Wed,Fri root /ddr/bin/ddsh -a compression physical-capacity-measurement sample start force priority urgent objects-from-schedule jf_sched
注意:cron工作已從中移除
/etc/crontab 如果計劃被禁用或銷毀。
我可以停止執行 PCM 工作嗎?
是 - 可使用工作 ID 或路徑集/mtree 名稱中止執行 PCM 工作。例如,我們看到有兩個 PCM 作業排隊:
SE@dd9500## compression physical-capacity-measurement sample show current Task ID Type Name User State Creation Time Measurement Time Start Time Priority Percent (Submitted Time) Done ------------ ---- ----- -------- --------- ------------------- ------------------- ---------- -------- -------- 124554051585 PS jfall sysadmin Scheduled 2015/08/30 16:00:48 2015/08/30 16:00:48 -- Normal 0 124554051586 PS jfall sysadmin Scheduled 2015/08/30 16:01:55 2015/08/30 16:01:55 -- Normal 0 ------------ ---- ----- -------- --------- ------------------- ------------------- ---------- -------- --------
您可以使用工作 ID 中止這些工作 (以停止單一工作):
SE@dd9500## compression physical-capacity-measurement sample stop task-id 124554051585 ** This will abort any submitted or running compression physical-capacity-measurement sampling tasks. Do you want to proceed? (yes|no) [no]: yes 1 task(s) aborted.
留給我們一個執行中的工作:
SE@dd9500## compression physical-capacity-measurement sample show current Task ID Type Name User State Creation Time Measurement Time Start Time Priority Percent (Submitted Time) Done ------------ ---- ----- -------- --------- ------------------- ------------------- ---------- -------- -------- 124554051586 PS jfall sysadmin Scheduled 2015/08/30 16:01:55 2015/08/30 16:01:55 -- Normal 0 ------------ ---- ----- -------- --------- ------------------- ------------------- ---------- -------- --------
或路徑集名稱:
SE@dd9500## compression physical-capacity-measurement sample stop pathsets jfall ** This will abort any submitted or running compression physical-capacity-measurement sampling tasks. Do you want to proceed? (yes|no) [no]: yes 1 task(s) aborted.
讓我們沒有工作:
SE@dd9500## compression physical-capacity-measurement sample show current No measurement tasks found.
如何顯示已完成工作的詳細資料?
檢視已完成工作的詳細資料,並搭配 sample show history 命令。例如,要顯示單個路徑集的詳細資訊,請執行以下操作:
SE@dd9500## compression physical-capacity-measurement sample show history pathset jfall Pathset: jfall Measurement Time Logical Used Physical Used Global-Comp Local-Comp Total-Comp (Pre-Comp) (Post-Comp) Factor Factor Factor (GiB) (GiB) (Reduction %) ------------------- ------------ ------------- ----------- ---------- -------------- 2015/08/23 12:23:06 7.0 4.2 1.70x 0.98x 1.67x (40.24%) 2015/08/23 13:04:20 10.0 6.2 1.63x 0.98x 1.61x (37.84%) 2015/08/26 14:00:01 10.0 6.2 1.63x 0.98x 1.61x (37.84%) 2015/08/27 14:00:01 10.0 6.2 1.63x 0.98x 1.61x (37.84%) 2015/08/28 14:00:02 10.0 6.2 1.63x 0.98x 1.61x (37.84%) 2015/08/29 14:00:02 10.0 6.2 1.63x 0.98x 1.61x (37.84%) 2015/08/30 14:00:01 10.0 6.2 1.63x 0.98x 1.61x (37.84%) ------------------- ------------ ------------- ----------- ---------- -------------- Total number of measurements retrieved = 7.
詳細歷史記錄參數還顯示每個作業的開始和結束時間:
SE@dd9500## compression physical-capacity-measurement sample show detailed-history pathset jfall Pathset: jfall Measurement Time Logical Used Physical Used Global-Comp Local-Comp Total-Comp Task ID Task Start Time Task End Time (Pre-Comp) (Post-Comp) Factor Factor Factor (GiB) (GiB) (Reduction %) ------------------- ------------ ------------- ----------- ---------- -------------- ------------ ------------------- ------------------- 2015/08/23 12:23:06 7.0 4.2 1.70x 0.98x 1.67x (40.24%) 47244640257 2015/08/23 12:25:19 2015/08/23 12:25:23 2015/08/23 13:04:20 10.0 6.2 1.63x 0.98x 1.61x (37.84%) 51539607553 2015/08/23 13:05:45 2015/08/23 13:05:48 2015/08/26 14:00:01 10.0 6.2 1.63x 0.98x 1.61x (37.84%) 77309411329 2015/08/26 14:02:50 2015/08/26 14:02:50 2015/08/27 14:00:01 10.0 6.2 1.63x 0.98x 1.61x (37.84%) 85899345921 2015/08/27 14:03:06 2015/08/27 14:03:06 2015/08/28 14:00:02 10.0 6.2 1.63x 0.98x 1.61x (37.84%) 94489280513 2015/08/28 14:02:50 2015/08/28 14:02:51 2015/08/29 14:00:02 10.0 6.2 1.63x 0.98x 1.61x (37.84%) 103079215105 2015/08/29 14:01:40 2015/08/29 14:01:41 2015/08/30 14:00:01 10.0 6.2 1.63x 0.98x 1.61x (37.84%) 115964116993 2015/08/30 14:04:12 2015/08/30 14:04:12 ------------------- ------------ ------------- ----------- ---------- -------------- ------------ ------------------- ------------------- Total number of measurements retrieved = 7.
注意:任一命令都可以修改為僅檢索特定時間段內的結果:
SE@dd9500## compression physical-capacity-measurement sample show history pathset jfall last 2days Pathset: jfall Measurement Time Logical Used Physical Used Global-Comp Local-Comp Total-Comp (Pre-Comp) (Post-Comp) Factor Factor Factor (GiB) (GiB) (Reduction %) ------------------- ------------ ------------- ----------- ---------- -------------- 2015/08/29 14:00:02 10.0 6.2 1.63x 0.98x 1.61x (37.84%) 2015/08/30 14:00:01 10.0 6.2 1.63x 0.98x 1.61x (37.84%) ------------------- ------------ ------------- ----------- ---------- -------------- Total number of measurements retrieved = 2.
或在特定日期或時間之間:
SE@dd9500## compression physical-capacity-measurement sample show history pathset jfall start 08231010 end 08231400 Pathset: jfall Measurement Time Logical Used Physical Used Global-Comp Local-Comp Total-Comp (Pre-Comp) (Post-Comp) Factor Factor Factor (GiB) (GiB) (Reduction %) ------------------- ------------ ------------- ----------- ---------- -------------- 2015/08/23 12:23:06 7.0 4.2 1.70x 0.98x 1.67x (40.24%) 2015/08/23 13:04:20 10.0 6.2 1.63x 0.98x 1.61x (37.84%) ------------------- ------------ ------------- ----------- ---------- -------------- Total number of measurements retrieved = 2.
特定路徑集/mtree 的特定歷程記錄會保留多久?
默認情況下,每個 PCM 路徑集的結果保留 180 天。這可以通過修改相應的路徑集來更改:
SE@dd9500## compression physical-capacity-measurement pathset modify jfall measurement-retention 14 Measurement-retention changed to 14 day(s).
PCM 歷史記錄保存在系統歷史資料庫中。因此,如果歷史資料庫丟失或損壞,所有PCM歷史記錄的詳細資訊也會丟失。
使用 PCM 時是否有任何注意事項?
如果系統的可用空間少於 10%,PCM 工作將暫停。
在清理週期執行時,PCM 工作會暫停。
如前所述,PCM 是一種工具,用於計算一組特定目錄/mtree 的物理利用率。在計算特定路徑集或 MTree 集的結果時,PCM 僅計算路徑集或 MTree 集使用的每個唯一資料段的大小一次。
因此,如果針對相同數據刪除重複數據的檔位於多個不同的 PCM 作業中,則組成檔的每個段可能會被多次計數(每個 PCM 作業一次)。這意味著,雖然每個 PCM 作業的結果準確無誤,但無法將多個 PCM 作業的結果相加,無法為作業中的路徑集/mtree 總和提供準確的物理利用率。
由於 PCM 工作組合的方式,磁碟上使用的路徑集或 MTree 後壓縮空間:
- PCM 作業不考慮失效資料 (已刪除檔案使用的磁碟空間,磁碟上的空間可能尚未透過執行 GC 來回收)。
- PCM 不會考慮鎖定在為 MTree 建立的快照或正在測量的路徑集中的任何資料。
例如,我有一個名為 /data/col1/jf1 我在其中創建了三個 1Gb 檔,即:
!!!! dd9500 YOUR DATA IS IN DANGER !!!! # for i in 1 2 3 ; do
> dd if=/dev/urandom of=/data/col1/jf1/${i} bs=1024k count=1024
> done
然後,我將這些檔案複製到第二個 mtree (/data/col1/jf2):
!!!! dd9500 YOUR DATA IS IN DANGER !!!! # cp /data/col1/jf1/1 /data/col1/jf2/4 !!!! dd9500 YOUR DATA IS IN DANGER !!!! # cp /data/col1/jf1/2 /data/col1/jf2/5 !!!! dd9500 YOUR DATA IS IN DANGER !!!! # cp /data/col1/jf1/3 /data/col1/jf2/6
最後,我在以下位置創建一個新的 1Gb 檔案: /data/col1/jf2:
!!!! dd9500 YOUR DATA IS IN DANGER !!!! # dd if=/dev/urandom of=/data/col1/jf2/7 bs=1024k count=1024 1024+0 records in 1024+0 records out
如果忽略資料的本機壓縮,只考慮重複資料刪除,很明顯,每個 mtree 在寫入檔案時都會使用下列的實體空間量:
/data/col1/jf1:3Gb
/data/col1/jf2:1 Gb(對於新檔 - 複製的檔將針對現有數據刪除重複數據,因此將佔用最少的物理空間)。
因此,實體空間使用率的總和 /data/col1/jf1 和 /data/col1/jf2 應該在 4Gb 左右。
建立了三個 PCM 路徑集:
JF1 包含 /data/col1/jf1,jf2
包含 /data/col1/jf2,jfall
包含 data/col1/jf1 和 /data/col1/jf2
PCM 工作會執行並提供輸出,如下所示:
Pathset: jf1 Measurement Time Logical Used Physical Used Global-Comp Local-Comp Total-Comp (Pre-Comp) (Post-Comp) Factor Factor Factor (GiB) (GiB) (Reduction %) ------------------- ------------ ------------- ----------- ---------- -------------- 2015/08/23 12:24:09 3.0 3.2 0.96x 0.98x 0.94x (-6.21%) ------------------- ------------ ------------- ----------- ---------- -------------- Pathset: jf2 Measurement Time Logical Used Physical Used Global-Comp Local-Comp Total-Comp (Pre-Comp) (Post-Comp) Factor Factor Factor (GiB) (GiB) (Reduction %) ------------------- ------------ ------------- ----------- ---------- -------------- 2015/08/23 12:24:12 4.0 4.2 0.98x 0.98x 0.96x (-4.14%) ------------------- ------------ ------------- ----------- ---------- --------------
這些值是正確的,因為每個 PCM 作業僅查看其相應路徑集中的檔引用的物理數據。這意味著複製的文件的數據被計數兩次(每個 PCM 作業一次)。
似乎合理的是,要通過 /data/col1/jf1 和 /data/col1/jf2 MTrees,我們可以從上述輸出中對「物理使用」的值求和。
若要取得 /data/col1/jf1 和 /data/col1/jf2,則必須運行涵蓋這兩個 MTree 的單個 PCM 作業(即使用 jfall)。這可確保重複段僅計數一次,而不是像上例中那樣計算兩次,即:
Pathset: jfall Measurement Time Logical Used Physical Used Global-Comp Local-Comp Total-Comp (Pre-Comp) (Post-Comp) Factor Factor Factor (GiB) (GiB) (Reduction %) ------------------- ------------ ------------- ----------- ---------- -------------- 2015/08/23 12:23:06 7.0 4.2 1.70x 0.98x 1.67x (40.24%) ------------------- ------------ ------------- ----------- ---------- --------------
總之,無法將多個 PCM 作業的輸出相加,以提供一組路徑集/mtree 的準確物理利用率。相反地,應定義一個涵蓋所有必要 mtree/目錄的單一 PCM 路徑集,如此可確保重複資料僅計數一次。例如,如果未完成此操作,並且要針對系統上的每個 mtree 執行單獨的 PCM 工作,則結果加總後,使用的總物理容量完全有可能超過系統的原始容量。
PCM 工作是否只能由 DDSH 命令行還是也可以使用UI?
在本文中,Data Domain 命令列介面 (DDSH) 可用來設定、提交及檢閱 PCM 工作。