Tôi có thể vô hiệu hóa updateb.mlocate không?


62

Trên máy chủ Ubuntu ở đây và tôi đang cố gắng giải nén các tệp hình ảnh 300M từ định dạng tệp nén bằng Java.

Tốc độ giải nén của tôi là 0,5Mbyte / giây, rất nhiều (34 ngày để giải nén 1,5TB ở tốc độ này).

Tôi đang cố gắng tìm hiểu tại sao, và điều kỳ lạ duy nhất tôi nhận thấy là updateb.mlocate luôn hoạt động khi tôi đang thực hiện quá trình giải nén. Tôi muốn tắt nó đi để xem nó có cản trở không, nhưng tôi không hiểu nhiều về nó là gì.

hàng đầu

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

iotop

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
Vấn đề này đã ảnh hưởng đến tôi trong nhiều năm và tôi không thể hiểu tại sao updateb.mlocate chạy ở mức ưu tiên IO cao khi tập lệnh nói chế độ không hoạt động ...
Ferran Basora

6
đó là một lỗi xem
lỗi.launchpad.net/ubfox/

Tại sao nó vẫn được bật mặc định? Trong nhiều năm, điều đó xảy ra với tôi mỗi khi tôi tạo ra một hệ thống mới. : - /
Fernando Kosh

1
Đối với bất kỳ ai lang thang tại sao điều này lại cần thiết và liệu bạn có phá vỡ thứ gì đó bằng cách tắt nó đi không: unix.stackexchange.com/a/273283/126119
Ufos

Câu trả lời:


71

Nó có thể bị giết bằng:

sudo killall updatedb.mlocate

Hoặc là:

sudo kill -9 <PID>

Nó chạy mỗi ngày bằng cron. Vô hiệu hóa nó với:

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

Và nếu bạn muốn kích hoạt lại nó:

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

10
đừng quên xóa /var/lib/mlocate/mlocate.dbcả
reto

2
Có an toàn để vô hiệu hóa nó?
Anton Rudeshko

2
ZOMG Vâng. Làm cái này.
meawoppl

8
Chỉnh sửa tệp /etc/updatedb.confvà thiết lập PRUNEPATHSvới các thư mục bạn KHÔNG muốn tìm kiếm.
inetpro 10/07/2015

@inetpro Cảm ơn. Trong trường hợp của tôi, tôi đã sử dụng backintimeđể tạo ra rất nhiều liên kết cứng theo thời gian và mọi thứ trở nên tốt hơn khi tôi thêm các mục vào PRUNEPATH.
woot

17

Tôi không muốn loại bỏ hoàn toàn quy trình nhưng tôi muốn làm cho nó ít xảy ra hơn nên tôi đã tìm ra cách để thiết lập nó chạy hàng tuần thay vì hàng ngày. Điều này dựa trên câu trả lời được chấp nhận ở trên nhưng có lẽ được liệt kê tốt nhất là câu trả lời của chính nó vì nó không vô hiệu hóa nó.

Điều đó nói rằng ... Nó khá đơn giản và có vẻ hoạt động tốt.

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

Cái đầu tiên vô hiệu hóa công việc cron. Thứ hai di chuyển nó đến các nhiệm vụ hàng tuần. Lệnh thứ ba đặt các quyền để nó được kích hoạt. Hàng ngày, hàng giờ, hàng tuần và hàng tháng là tất cả các tùy chọn.



Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.