2017-05-25 50 views
2

可以說我必須運行我的func.m幾個小時,讓Matlab運行在服務器上(Windows)。我希望該功能不要使用任務管理器指示的99%的可用CPU,磁盤和/或內存,可以說每個限制爲75%。Matlab - 如何限制訪問資源

我應該如何限制它們,用於預留另一個Matlab或其他進程的實例,而沒有任何問題?

回答

1

可以使用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 
+0

這將立即停止工作,不工作終於... – hyprfrcb

+1

@hypfco,所以你不想立即退出任務?如果超過內存,我認爲你想停止這個功能。 – kedarps

+0

不,它會立即超過......大多數進程使用所有可用的資源,除非您限制它們。 – hyprfrcb