在这里的 ubuntu 服务器上,我正在尝试使用 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
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
可以用以下方法杀死它:
sudo killall updatedb.mlocate
或者:
sudo kill -9 <PID>
它每天按 cron 运行。使用以下命令禁用它:
sudo chmod -x /etc/cron.daily/mlocate
如果您想重新启用它:
sudo chmod +x /etc/cron.daily/mlocate
答案2
我不想完全消除这个过程,但我确实想让它发生的频率降低,所以我想出了如何将其设置为每周运行而不是每天运行。这是基于接受的答案多于但可能最好将其列为其自己的答案,因为它不会禁用它。
也就是说...它相当简单,而且看起来运行良好。
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 任务。第二个命令将其移至每周任务。第三个命令设置权限以启用它。每日、每小时、每周和每月都是选项。
答案3
我从未使用过locate
,所以我删除了它。
sudo dpkg -P mlocate
另请参阅:https://wiki.archlinux.org/index.php/File_system_search
答案4
如果您卸载locate
,mlocate
并plocate
使用例如:
sudo apt remove locate mlocate plocate
您可以使用以下方法防止它们被重新安装:
cat <<EOF | sudo tee /etc/apt/preferences.d/do-not-install-locate.pref
Explanation: Do not install locate nor mlocate nor plocate in order to avoid excessive Disk I/O
Package: locate mlocate plocate
Pin: origin *
Pin-Priority: -1
EOF