기관의 Ubuntu Linux 노드에 액세스 할 수 있습니다. 노드는 그룹간에 공유되지만 일반적으로이 특정 노드를 사용하는 유일한 사람입니다.
이 노드의 8 개 CPU 모두에서 병렬로 계산을 실행하고 있습니다. 계산이 실행되지만을 사용하여 활성 프로세스를 볼 때 top
user man
및 command 라는 추가 프로세스가 표시 mandb
됩니다. 이 mandb
명령은 내가 볼 때마다 실행되는 것으로 보이며에 top
따르면 상당히 상당한 양의 CPU 전력 ( 6 %CPU
)과 메모리 ( 2.5 %MEM
) 를 차지하는 것으로 보입니다 top
.
인터넷을 둘러 보면 다음과 같습니다.
mandb
일반적으로 man이 유지 관리하는 인덱스 데이터베이스 캐시를 초기화하거나 수동으로 업데이트하는 데 사용됩니다.
그러면 왜이 mandb
노드에서 항상 실행됩니까? (다른 노드에 따르면 기관 클러스터 내의 다른 노드에서는이 문제가 없습니다 top
.) 현재 매뉴얼을보고 있지 않기mandb
때문에 왜 항상 실행해야 합니까?
이 프로세스는 안전하게 사용하여 종료 할 수있는 팬텀 프로세스 일 가능성이 kill
있습니까?
답변
mandb
연속적으로 실행되는 것은 정상이 아닙니다 . 설치된 매뉴얼 페이지의 색인 갱신 및 형식화 된 매뉴얼 페이지의 캐시 작성 또는 트리밍과 같은 유지 보수 태스크를 수행하기 위해 크론 작업 mandb
에서 하루에 한 번 실행 하는 것이 일반적 입니다. 매뉴얼 페이지가 많고 디스크 속도가 느린 경우 몇 분, 아마도 몇 분 안에 매일 작업을 실행해야합니다. 작업이 그보다 오래 실행되면 문제가있는 것입니다.
6 % CPU가 높지 않지만 프로세스가 디스크 I / O를 수행하고있을 수 있습니다. 클러스터 노드에서 메모리의 2.5 %가 높게 들립니다. 작업이 잘못 구성되어 있어야 할 위치, mandb
프로그램에 버그가 있거나 하드웨어 오류로 인해 문제가 발생 mandb
했을 수 있습니다.
당신의 크론 스크립트를 볼 수 있습니다 /etc/crontab
또는 /etc/cron.*/*
(; 정확한 위치는 유통 의존 /etc/cron.daily/man-db
하고 /etc/cron.weekly/man-db
가능성이 위치입니다). mandb
프로세스를보다 자세히 살펴보면 실행 한 프로세스를 확인할 수 있습니다 . 프로세스를 실행 pstree | less
하고 검색하십시오 mandb
. 실행 ps ww 12345
(여기서 12345는 문제가되는 프로세스의 PID 임)은 완전한 명령 행을 보여줍니다.
이것은 스스로 진단 할 수 있지만 루트 권한 없이는 수정할 수없는 것입니다. 루트 권한이있는 경우 mandb
프로세스를 안전하게 종료 할 수 있습니다 ( 루트 방식에 따라 sudo pkill mandb
또는 명령 사용 su -c 'pkill mandb'
). 어쨌든 시스템 관리자에게 문의하여 증상을 설명하십시오. 호출 한 프로그램 mandb
및 인수와 같은 모든 정보를 제공하십시오 .
답변
나는 cron 스크립트를 점검했다. 사람 색인을 업데이트하고 매뉴얼 검색 속도를 높이고 매일 실행하는 명령 일뿐이며 안전하게 죽일 수있다.
마음에 들지 않고 chmod -x /etc/cron.daily/man-db
답변
이것은 Heisenbug이며, 최신 버전의 mandb에서 수정되었을 수 있습니다. 손상된 맨 페이지, 파일 시스템 순회 순서 및 mandb의 증분 재 구축이 매우 느린 전체 재 구축 (1,500 만 페이지 오류 등)으로 바뀌고 녹이 녹는 데 몇 분이 걸립니다.
문제를 해결하려면 다음을 실행하십시오.
sudo mandb --no-purge --debug
mandb를 사용 --create
하거나 사용하지 않고 mandb를 실행하지 마십시오 --no-purge
. 그런 다음 최신 버전인지 확인하고 cjwatson이 볼 수있는 버그를보고하십시오.
반면에 문제를 제거하려면 다음을 실행하십시오.
echo 'man-db man-db/auto-update boolean false' |sudo debconf-set-selections
man-db cronjob (매일 실행) 및 dpkg 트리거 (패키지를 설치할 때 실행)를 비활성화합니다.