Я использую пакет forever
для запуска моего сценария Node.js. (а не веб-сервер). Тем не менее, из-за этого, у меня есть утечка памяти и даже после остановки всех процессов, моя память еще берутся:Узел утечки памяти на сервере nnet на сервере
[email protected]:~# forever stopall
info: No forever processes running
[email protected]:~# forever list
info: No forever processes running
[email protected]:~# free -lm
total used free shared buffers cached
Mem: 11721 6900 4821 5 188 1242
Low: 11721 6900 4821
High: 0 0 0
-/+ buffers/cache: 5469 6252
Swap: 0 0 0
Также говоря, нет никакой утечки памяти из сценария, когда бежал на место без навсегда. Я запускаю его на сервере Ubuntu. И если бы я перезагружать сервер в настоящее время:
[email protected]:~# reboot
Broadcast message from [email protected]
(/dev/pts/0) at 3:19 ...
The system is going down for reboot NOW!
Моя RAM будет снова свободен:
[email protected]:~# free -lm
total used free shared buffers cached
Mem: 11721 1259 10462 5 64 288
Low: 11721 1259 10462
High: 0 0 0
-/+ buffers/cache: 905 10816
Swap: 0 0 0
Я также хочу отметить, что, когда мой сценарий заканчивает то, что он делает (и это делает в конце концов) У меня есть db.close
и process.exit
звонки, чтобы убедиться, что все убито со стороны моего скрипта. Однако даже после того, как оперативная память отнимается. Теперь я знаю, что навсегда снова запустит этот сценарий после его убийства. So мои вопросы таковы:
- Как я могу навсегда навсегда не выполнить сценарий, если он закончен?
- Как мне остановить вечно, чтобы он не принимал ОЗУ после того, как я его остановил?
Причина, по которой я использую пакет forever для этого, заключается в том, что моему сценарию требуется много времени, чтобы выполнить то, что он делает, и мой сеанс SSH завершится, и так будет выполняться сценарий Node, который я запускал обычным способом.
Вы можете, как использовать '' top' и команду htop', чтобы увидеть, где используется оперативная память и центральный процессор, а затем вы можете убить этот процесс –
@ArifKhan Однако я не хочу, чтобы убить процессы вручную. Я ищу способ для пакета 'forever', чтобы убить то, что он больше не использует. – Kunok