2016-08-05 8 views
0

私は、データの膨大な量にC++プログラムを実行し、それが無限ループに走りました。私はちょうどターミナルをやめた。しかし、プロセスを見ると、まだ12GBのRAMを割り当てるプロセスがあることがわかります。無料メモリ[UNIX]

は、私は再びメモリを解放するために手動のプロセスを殺すために持っていたり、システムが一定時間後にそれ自体を解放しますか?

+6

は、その後、いや、メモリが解放されません。 OSはランダムにプロセスのメモリを解放することはできません。それは真剣にプロセスを台無しにするだろう。 OSはメモリ不足を選択することができますが、メモリにアクセスしてメモリを解放するだけではありません。 –

+0

あなたの答えをありがとう。だから私は$ kill PIDを行うべきですか? – cruxi

+0

@cruxi 'ps-A'は何を表示していますか?あなたはゾンビプロセスを持っていますか? –

答えて

0

だから私は$ PIDを殺すんでしょうか?

はい、プログラムを無限ループで実行しないようにするには、メモリを解放するだけでなく、CPU時間を浪費しないように、プログラムを強制終了する必要があります。プロセスがまだ実行されている場合