2
可以說我必須運行我的func.m
幾個小時,讓Matlab運行在服務器上(Windows)。我希望該功能不要使用任務管理器指示的99%的可用CPU,磁盤和/或內存,可以說每個限制爲75%。Matlab - 如何限制訪問資源
我應該如何限制它們,用於預留另一個Matlab或其他進程的實例,而沒有任何問題?
可以說我必須運行我的func.m
幾個小時,讓Matlab運行在服務器上(Windows)。我希望該功能不要使用任務管理器指示的99%的可用CPU,磁盤和/或內存,可以說每個限制爲75%。Matlab - 如何限制訪問資源
我應該如何限制它們,用於預留另一個Matlab或其他進程的實例,而沒有任何問題?
可以使用memory
功能做一些類似的,
% set threshold here
mem_threshold = 75;
while 1
% do stuff
%%
% check how much memory is being used
[~ sys] = memory;
mem_avail = sys.PhysicalMemory.Available;
mem_total = sys.PhysicalMemory.Total;
mem_used = 100*(mem_total-mem_avail)/mem_total;
% break loop, if memory used exceeds threshold
if mem_used > mem_threshold
break;
end
end
這將立即停止工作,不工作終於... – hyprfrcb
@hypfco,所以你不想立即退出任務?如果超過內存,我認爲你想停止這個功能。 – kedarps
不,它會立即超過......大多數進程使用所有可用的資源,除非您限制它們。 – hyprfrcb