Memory

腳本完成後記憶體增加

  • June 19, 2020

(我是linux的新使用者)。我正在以這種形式使用 nohup 並行執行幾個 matlab 腳本:

(cd Documents/dir_001; nohup matlab -nodisplay -nosplash -nodesktop -r "run('/home/user/Documents/dir_001/myScript.m')") &
(cd Documents/dir_002; nohup matlab -nodisplay -nosplash -nodesktop -r "run('/home/user/Documents/dir_002/myScript.m')") &
(cd Documents/dir_003; nohup matlab -nodisplay -nosplash -nodesktop -r "run('/home/user/Documents/dir_003/myScript.m')") &

我注意到(通過使用 top -u )當我的腳本完成它們的常式時(我可以通過查看目錄來判斷它已經完成,當目錄為空時,腳本已經完成了它的工作)與腳本相關的記憶體開始增加逐步。我必須殺死 PID 以防止它繼續增長。

我的問題:

  • 如果腳本完成其常式後記憶體使用量不為零,為什麼記憶體使用量不會達到最小值?
  • 為什麼記憶體會增加?執行腳本時它會消耗 1% 的記憶體,完成後它會不斷增長到 1.3%、1.5%、1.9%、2% 等值。

我該如何解決?我想在腳本完成後自動終止 PID

您需要在exit要執行的 Matlab 命令之後添加一個命令:

(cd Documents/dir_001; nohup matlab -nodisplay -nosplash -nodesktop -r "run('/home/user/Documents/dir_001/myScript.m'); exit;") &

請參閱如何從命令行呼叫 MATLAB 腳本?詳情。

引用自:https://unix.stackexchange.com/questions/593916