Linux에 "[123.45.78.901-ma]"라는 프로세스가 있습니다. 여기서 숫자는 NFS 서버의 IP 주소입니다. 이러한 프로세스가 무엇인지, 해당 프로세스에 대한 정보를 어디서 찾을 수 있는지, 웹 검색에 사용할 수 있는 좋은 키워드를 아는 사람이 있습니까?
배경:
NFS에 뭔가 이상한 일이 벌어지고 있는 프로세스가 컴퓨터에서 보입니다. 뭔가가 루프에 갇혀서 많은 NFS 요청(읽기, 업데이트 및 인증)을 하는 것 같지만 모든 명백한 후보(예: 사용자 프로그램)이 결과적으로 종료될 수 있습니다.
[123.45.78.901-ma]
문제의 컴퓨터에는 (매우 짧은 시간 동안) 많은 수의 프로세스가 있지만 작동하는 컴퓨터에는 없습니다(적어도 내가 감지할 수 있을 만큼 오래 동안은 아님).
그래서 이런 과정들이 어떻게든 문제에 연루된 것 같은데, 어떻게 그런 건지 모르겠어요.
"논스톱 수면" 프로세스를 찾는 동안 다음을 통해 발견했습니다.
while [ 1 ] ; do ps -w -w -e -o pid,state,tname,time,args| grep ' D ' | grep -v grep; sleep 0.1; done
시스템 세부정보:
Red Hat Enterprise Linux Workstation 버전 6.3(샌디에이고)
리눅스 [...] 2.6.32-279.5.1.el6.x86_64 #1 SMP 화요일 7월 24일 13:57:35 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
미리 감사드립니다!
답변1
이러한 커널 스레드는 NFS 마운트 헬퍼일 가능성이 높으며 새 NFS 마운트가 클라이언트에 마운트될 때만 나타납니다.
그들이 중단 없이 수면 상태에 있는 동안 그들을 볼 수 있다면, 그들이 자고 있는 것을 볼 수 있으며 /proc/<pid>/stack
, 이는 그들이 하고 있는 일을 되돌아볼 수 있습니다. 그러나 이를 위해서는 루트 액세스가 필요하며 다른 답변에 대한 귀하의 의견으로 판단하면 이 경우 루트 액세스 권한이 없습니다.
이 호스트에서 이러한 커널 스레드가 표시되지만 비슷한 방식으로 설정된 다른 커널 스레드는 표시되지 않는 경우 이는 이 호스트의 RPC 호출 성능이 어떤 이유로 다른 호스트보다 낮다는 것을 의미합니다. 이 문제를 일으키는 다른 네트워크 문제가 있는 것일까요?
참고로 다른 작업자 호스트에 걸려 있는 NFS 마운트를 조사하는 동안 비슷한 결과를 얻었습니다. 내 경우에는 호스트가 실행 중인 특정 커널 버전의 커널 버그로 인해 [123.456.78.90-ma]
커널 스레드가 중단할 수 없는 절전 상태에 영구적으로 멈춰 있기 때문인 것 같습니다 .
답변2
Linux에서는 ps
커널 스레드가 대괄호로 표시됩니다. 이는 일반적인 의미의 "프로세스"가 아닙니다. 즉, 실행을 위해 디스크에서 로드된 실행 파일이 없으며 일반 사용자가 소유하지도 않습니다. 이는 커널이 뒤에서 수행하는 많은 작업 중 하나일 뿐입니다.
따라서 표시된 이름이 반드시 ps
하드 드라이브의 파일과 일치할 필요는 없습니다. (의 경우좀비 프로세스그러나 그것은 사실이다. )