CentOS에서 다중 프로세스 Python 프로그램을 실행합니다. 이 프로그램은 많은 메모리를 필요로 하지 않습니다. 문제는 내 64GB 메모리 시스템에 메모리가 거의 부족하고 계산 집약적인 다른 작업을 실행할 능력이 없다는 것입니다. 누구든지 같은 문제가 있습니까?
업데이트됨:
다음과 같은 출력의 일부를 사용하여 %MEM별로 프로세스를 정렬한 후:
21922 haoyu 20 0 12.457g 1.204g 0 T 0.0 1.9 0:00.02 python
21871 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.02 python
21872 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.02 python
21895 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.02 python
21896 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.01 python
21897 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.03 python
21898 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.01 python
21899 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.02 python
21900 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.01 python
문제는 내 다중 프로세스 Python 프로그램의 일부 실수일 수 있습니다. 하위 프로세스가 올바르게 닫히지 않았으며 여전히 일부 메모리를 사용하는 것으로 보입니다. 이들 중 다수는 현재 CPU를 사용하고 있지 않기 때문에 옵션 없이 top 명령을 적용하면 볼 수 없습니다.
답변1
첨부한 이미지에는 메모리 사용량이 아닌 CPU 사용량을 기준으로 정렬된 프로세스/프로그램이 있습니다.
실행하는 Python 프로그램은 메모리의 0.4%(및 CPU의 100%)만 사용하는 것 같습니다. 아마도 다른 프로세스/프로그램이 서버의 메모리를 사용하고 있을 것입니다.
메모리 사용량에 따라 정렬된 프로그램 목록을 생성하는 명령을 실행하십시오.
top -o %MEM -b -n 1 | head -20
프로세스/프로그램 이름이 있는 마지막 열을 살펴보세요.
질문에 대한 답변을 제공해야합니다.컴퓨터에서 메모리를 사용하는 것은 무엇입니까?.