Solidworks頻繁打開關閉裝配體內存占用異常
通過調用solidworksAPI打開裝配體文件
swModel = (ModelDoc2)swApp.OpenDoc(filePath, (int)swDocumentTypes_e.swDocASSEMBLY)
swApp.CloseDoc(filePath);
導致solidworks占用內存越來越大,并提示

并且經過檢查發現,內存占用接近2GB

難道說!2GB是solidworks崩潰的邊緣?那么在多線程時,solidworks崩潰更加頻繁,是否是這個原因?
針對這個問題的臨時解決方案,來自于
https://www.ugsnx.com/thread-212423-1-1.html
通過增加虛擬內存的方式解決
此外,在外圍,我定義了一個檢測solidworks內存占用的方法,用于監測solidworks內存,當超過閾值時,重新啟動solidworks
swApp = Utility.ConnectToSolidWorks();
var solidWorksProcesses = GetSolidWorksProcesses();
try
{
foreach (Process process in solidWorksProcesses)
{
process.Refresh(); // 刷新進程信息
long memory = process.WorkingSet64;
if (memory > SolidWorksMemoryLimit)
{
Console.WriteLine($"SolidWorks 內存占用過高({memory / (1024 * 1024)} MB),正在重啟...");
process.Kill();
process.WaitForExit(Timeout);
Process.Start(path);
swApp = Utility.ConnectToSolidWorks();
}
}
}
catch { }
如果有更好的方法,求助!萬分感謝!

浙公網安備 33010602011771號