狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

如何在C#中優化或限制zip進程(DotNetZip)的CPU使用率?

admin
2024年1月19日 21:53 本文熱度 772

:如何在C#中優化或限制zip進程(DotNetZip)的CPU使用率?

我有一個應用程序,用于使用DotNetZip庫來存檔文件夾。 我注意到,在進行實際的"壓縮"過程時,它會占用100%的CPU。 該應用程序將與另一個(TCP聊天應用程序)結合使用,因此我真的需要此應用程序,以使其使用的CPU盡可能少。

有什么辦法可以安全地限制CPU? 我嘗試降低優先級,但沒有任何區別。 我現在唯一擁有的就是將親和力僅設置為1個核心,以使其使用50%。 但是,當然,這僅適用于多核計算機。

 

默認情況下,DotNetZip將在多個線程上運行,以提供更快的壓縮速度,但會占用CPU和內存利用率。在足夠多的I / O吞吐量下,在多核系統上,這可能會消耗所有CPU的100%。

如果不希望這樣,可以將ZipFile.ParallelDeflateThreshold設置為-1。這表示"切勿使用多個線程進行壓縮"。這仍然會消耗單個線程可以獲取的所有cpu。在單核,單CPU的計算機上,該比例仍為100%。典型的當前筆記本電腦是雙核計算機。在這種情況下,它將顯示50%的CPU使用率,因為一個內核將完全飽和。

using (ZipFile zip = new ZipFile(tmpRarFileName, Encoding.Default))

{

    zip.ParallelDeflateThreshold = -1;

    zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;   //設置壓縮率

    zip.AddFile(tmpBakFileName);

    zip.Save();

}

如果您在多核計算機上運行,并且希望tcp通信應用程序繼續暢通無阻,則可以在后臺線程中啟動DotNetZip工作,并設置我上面提到的屬性。為了進一步隔離,您可以將DotNetZip分解為一個單獨的進程,并在該進程中設置親和力+優先級,以及設置并行閾值屬性。


該文章在 2024/1/19 22:47:39 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved