峰值記憶體排程

HotPDF 透過單一的程序級位元組預算,在高佔用操作配置主要工作集之前先進行准入調節

涵蓋的操作

每個操作依來源大小、轉譯尺寸、DPI、串流門檻與工作者數量推導出保守估計並保留額度,然後在既有的操作遙測邊界釋放保留

准入原則

無爭用路徑不配置等待事件,有爭用的操作使用一個私有事件且不空轉

設定

PDF.PeakMemorySchedulerEnabled := True;
PDF.PeakMemorySchedulerBudgetBytes := 768 * 1024 * 1024;

PDF.ResetPeakMemorySchedulerStatistics;
if PDF.GetPeakMemorySchedulerStatistics(Stats) then
begin
  WriteLn(Stats.PeakReservedBytes);
  WriteLn(Stats.DelayedAdmissionCount);
  WriteLn(Stats.TotalWaitMilliseconds);
end;

PeakMemorySchedulerEnabled 是元件層級的,可讓受信任的隔離工作跳過准入,PeakMemorySchedulerBudgetBytes 則設定共享的程序級排程器

統計

THPDFPeakMemorySchedulerStatistics 回報目前與峰值保留位元組、目前與峰值生效保留數、目前與峰值等待者、總准入與延遲准入數、超額准入、取消與彙總等待時間

THPDFOperationTelemetry.ScheduledMemoryBytes、MemorySchedulerWaitMilliseconds 與 MemorySchedulerDelayed 把排程成本歸給最近一次操作

相關 API