2016-08-05 72 views
0

我对大量数据执行了一个C++程序,并且它运行了一个无限循环。我刚刚离开终端。但现在看看进程表明,仍然有一个分配12GB RAM的进程。再次释放内存[Unix]

我是否必须手动杀死进程以再次释放内存或系统在一段时间后是否释放内存?

+6

如果进程仍在运行,那么不,内存不会被释放。操作系统不能随意决定释放一个进程的内存。那会严重影响整个过程。操作系统可以选择无记忆的杀死一个进程,但它不会进入并将内存移走。 –

+0

感谢您的回答。所以我应该做$ kill PID? – cruxi

+0

@cruxi'ps-A'显示什么?你有僵尸程序吗? –

回答

0

所以我应该做$ kill PID?

是的,如果你不想让程序在死循环中运行,你应该杀死它,不仅要释放内存,也不要浪费CPU时间。