ฉันสามารถปิดการใช้งาน updatedb.mlocate ได้หรือไม่


62

บนเซิร์ฟเวอร์ ubuntu ที่นี่และฉันพยายามที่จะแกะไฟล์ภาพ 300M จากรูปแบบไฟล์บีบอัดโดยใช้ Java

อัตราการเปิดออกของฉันคือ 0.5Mbytes / วินาที abysmal (34 วันเพื่อแกะ 1.5TB ในอัตรานี้)

ฉันพยายามหาสาเหตุและสิ่งแปลกประหลาดเดียวที่ฉันสังเกตเห็นคือ 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

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
ปัญหานี้ได้รับผลกระทบกับฉันมาหลายปีและฉันไม่สามารถเข้าใจว่าทำไม updatedb.mlocate ทำงานที่ระดับความสำคัญสูง IO เมื่อสคริปต์บอกว่าโหมดไม่ได้ใช้งาน ...
Ferran Basora

6
มันเป็นข้อผิดพลาด ดู bugs.launchpad.net/ubuntu/+source/mlocate/+bug/1190696
2014

ทำไมมันยังคงเปิดใช้งานเริ่มต้น เป็นเวลาหลายปีที่มันเกิดขึ้นกับฉันทุกครั้งที่ฉันสร้างระบบใหม่ : - /
Fernando Kosh

1
สำหรับทุกคนที่หลงทำไมสิ่งนี้จำเป็นและไม่ว่าคุณจะทำลายบางสิ่งบางอย่างโดยการเปลี่ยนมันออก: unix.stackexchange.com/a/273283/126119
ยูเอฟโอ

คำตอบ:


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ซึ่งจะสร้างตันของ hardlinks 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
โปรดดู " ฉันจะทำให้ mlocate จัดทำดัชนีเฉพาะไดเรกทอรีได้อย่างไร " สำหรับวิธีอื่นเพื่อเพิ่มความเร็ว
Amir Ali Akbari

10

ฉันไม่เคยใช้locateดังนั้นฉันจึงลบมัน sudo dpkg -P mlocate ดูเพิ่มเติมที่: https://wiki.archlinux.org/index.php/File_system_search


2
พิจารณาการติดตั้งแพ็คเกจ mlocate-ขัดแย้งกันเพื่อป้องกันmlocateการติดตั้งอีกครั้ง
Amir Ali Akbari
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.