情况是这样的:我运行了一个使用大量内存和交换内存的 matlab 程序,然而,在它运行时,我终止了它(ctrl+z),但我发现它没有返回它占用的内存。当我想再次运行该程序时,matlab 告诉我“内存不足”。
所以我需要自己释放浪费的内存,我试过了
sudo sysctl -w vm.drop_caches=3
但它不起作用,内存仍在使用中。这是我的顶部显示的
top - 19:39:52 up 1:25, 3 users, load average: 0.27, 0.51, 0.73
Tasks: 227 total, 1 running, 223 sleeping, 2 stopped, 1 zombie
Cpu(s): 4.2%us, 0.9%sy, 0.0%ni, 94.8%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8045612k total, 6878404k used, 1167208k free, 25096k buffers
Swap: 15622140k total, 7239720k used, 8382420k free, 406024k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2542 txh18 20 0 457m 18m 10m S 10 0.2 6:24.66 gnome-system-mo
1403 root 20 0 201m 14m 4356 S 6 0.2 3:33.67 Xorg
2218 txh18 20 0 1272m 39m 10m S 2 0.5 1:51.68 compiz
8176 txh18 20 0 884m 62m 22m S 2 0.8 0:08.86 chromium-browse
7858 txh18 20 0 2858m 143m 53m S 1 1.8 0:25.54 chromium-browse
2547 txh18 20 0 503m 9.9m 4796 S 1 0.1 0:04.91 gnome-terminal
8298 txh18 20 0 483m 49m 24m S 1 0.6 0:03.39 chromium-browse
15 root RT 0 0 0 0 S 0 0.0 0:00.01 watchdog/2
2188 txh18 20 0 19556 2608 612 S 0 0.0 0:06.88 dbus-daemon
2289 txh18 20 0 316m 9176 6168 S 0 0.1 0:01.26 gtk-window-deco
2299 txh18 20 0 511m 15m 5544 S 0 0.2 0:16.61 unity-panel-ser
希望有人能帮我释放内存,谢谢。
抱歉,顶部列表不完整,当我在顶部按 shift+M 时,我发现 MATLAB 进程仍然存在。
答案1
Ctrl-Z
没有杀进程。它会SIGTSTP
向进程发送信号。你甚至可以恢复从而被杀死通过说来处理fg
。
如果您想终止该进程,您可能需要SIGKILL
或SIGINT
(Ctrl-C)。