업데이트 된 b.mlocate를 비활성화 할 수 있습니까?


62

우분투 서버에서 Java를 사용하여 압축 파일 형식에서 300M 이미지 파일의 압축을 풀려고합니다.

압축 풀기 속도는 0.5Mbytes / sec이며, 심연입니다 (이 속도로 1.5TB를 풀려면 34 일).

나는 이유를 알아 내려고 노력하고 있으며, 내가 알 수있는 유일한 이상은 포장 풀기 프로세스를 수행 할 때 updatedb.mlocate가 항상 작동한다는 것입니다. 방해가되는지 확인하기 위해 끄고 싶지만, 그것이 무엇인지에 대해 많이 이해하지 못합니다.

상단

top - 05:16:52 up 1 day,  5:15,  3 users,  load average: 2.00, 2.01, 1.83
Tasks:  83 total,   1 running,  82 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.4%us,  0.8%sy,  0.0%ni,  8.4%id, 90.2%wa,  0.0%hi,  0.0%si,  0.2%st
Mem:   1737420k total,  1722680k used,    14740k free,  1241260k buffers
Swap:   917500k total,      160k used,   917340k free,   165448k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
22901 davidpar  20   0 1051m  56m 4992 S    3  3.3   0:47.84 java
 2221 root      20   0 32348  26m  268 D    1  1.6  27:57.86 updatedb.mlocat
   25 root      20   0     0    0    0 S    0  0.0  10:10.77 kswapd0
  678 root      20   0 15864  444  268 S    0  0.0   0:19.45 irqbalance
  849 davidpar  20   0 26560 1676  332 S    0  0.1  17:17.49 screen

아이오 톱

Total DISK READ: 4.07 M/s | Total DISK WRITE: 789.62 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
 2221 idle root     1556.98 K/s    6.36 K/s  0.00 % 99.61 % updatedb.mlocate
22902 be/4 davidpar    2.54 M/s  671.93 K/s  0.00 % 96.96 % java -cp /home/davidparks21/fruggutils/lib/FruggMapreduceJobs.~educe.UnpackImages /mnt/local/imagebinaries-r-00010 /mnt/ebs1/
  547 be/3 root        0.00 B/s   87.47 K/s  0.00 %  0.30 % [jbd2/xvdf-8]
  177 be/3 root        0.00 B/s    3.98 K/s  0.00 %  0.15 % [jbd2/xvda1-8]

1
이 문제는 몇 년 동안 나에게 영향을 미쳤으며 스크립트가 유휴 모드라고 할 때
업데이트 된 b.mlocate가


여전히 기본적으로 활성화되어있는 이유는 무엇입니까? 수년에 걸쳐 새로운 시스템을 만들 때마다 나에게 일어난다. :-/
Fernando Kosh

1
방황하는 사람이라면 왜 이런 일이 필요한지, 무언가를 꺼서 깨뜨릴 것인지 : unix.stackexchange.com/a/273283/126119
Ufos

답변:


71

다음과 같이 죽일 수 있습니다.

sudo killall updatedb.mlocate

또는:

sudo kill -9 <PID>

cron에 의해 매일 실행됩니다. 다음과 같이 비활성화하십시오.

sudo chmod -x /etc/cron.daily/mlocate

다시 활성화하려면 다음을 수행하십시오.

sudo chmod +x /etc/cron.daily/mlocate

10
삭제 /var/lib/mlocate/mlocate.db하는 것도 잊지 마세요
reto

2
비활성화해도 안전합니까?
Anton Rudeshko

2
ZOMG 예. 이 작업을 수행.
meawoppl

8
파일을 편집하고 검색 하지 않으려 는 디렉토리로 /etc/updatedb.conf설정 PRUNEPATHS하십시오 .
inetpro

@inetpro 감사합니다. 제 경우에는 backintime시간이 지남에 따라 많은 양의 하드 링크를 만드는 데 사용 했으며 항목을에 추가하면 상황이 훨씬 좋아졌습니다 PRUNEPATH.
woot

17

프로세스를 완전히 제거하고 싶지는 않았지만 프로세스를 덜 자주 만들고 싶었으므로 매일 대신 매주 실행하도록 설정하는 방법을 연구했습니다. 이것은 의 허용되는 답변을 기반으로 하지만 비활성화하지 않았기 때문에 자체 답변으로 표시되는 것이 가장 좋습니다.

그것은 말했다 ... 그것은 다소 간단하고 잘 작동하는 것 같습니다.

sudo chmod -x /etc/cron.daily/mlocate
sudo cp /etc/cron.daily/mlocate /etc/cron.weekly/mlocate
sudo chmod +x /etc/cron.weekly/mlocate

첫 번째는 cron 작업을 비활성화합니다. 두 번째는 주간 작업으로 이동합니다. 세 번째 명령은 권한이 활성화되도록 권한을 설정합니다. 매일, 매시간, 매주 및 매월 모두 옵션입니다.


1
속도를 높이는 다른 방법은 " 특정 디렉토리 만 색인화하는 방법 "을 참조하십시오 .
Amir Ali Akbari

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.