относительно вашей второй попытки с shebang в скрипте python:
~
в shebang;
это должно быть фактический путь ( #! / inside / home / thjmatth / ...
). #! / Inside / home / thjmatth / anaconda3 / bin / python / python3
. Проверка работоспособности: У вас есть каталог с именем
/ inside / home / thjmatth / anaconda3 / bin / python
, который содержит
исполняемую программу с именем python3
(т. Е. Полный путь к программе-интерпретатору:
/ inside / home / thjmatth / anaconda3 / bin / python / python3
?
Измените свой сценарий, чтобы сделать следующее:
#!/bin/sh
export PATH=~/anaconda3/bin/python:$PATH
while read p; do
type python3
screen -dm -S "$p" bash -c "type python3; exec sh"
done <cells.txt
и посмотрите, сможете ли вы выяснить, что происходит. Если вы все еще застряли, отредактируйте свой вопрос, включив в него вывод вышеуказанного.
Еще одно:
Вы всегда должны указывать все ссылки на переменные оболочки (например, "$ p"
)
, если у вас нет хорошая причина не делать этого,
и вы уверены, что знаете, что делаете.
В общем, вам нужно собирать информацию с течением времени, чтобы увидеть, что вызывает утечку памяти.
Легкие целевые вопросы:
1 )Какие последние изменения были внесены в систему?
2 )Что было обновлено?
3 )Есть ли информация, связывающая эти изменения с утечками памяти.
После этого вы можете использовать программы, доступные в вашей системе. У меня нет системы Cent, но должно быть приложение системного монитора, которое покажет вам, сколько памяти используют запущенные процессы. top
можно использовать для того же самого в командной строке. В обоих случаях вам нужно следить за ними и распознавать, что растет.
Если это сервер и за ним следит что-то вроде Nagios, вы можете настроить монитор памяти для различных системных приложений и отображать использование памяти приложениями.
Это очень общие вещи, но они дают вам пару направлений, куда можно двигаться.
Марк