web-dev-qa-db-ja.com

updatedb.mlocateを無効にできますか?

ここのubuntuサーバーで、Javaを使用して圧縮ファイル形式から300Mの画像ファイルを解凍しようとしています。

私の解凍速度は0.5Mバイト/秒で、最悪です(この速度で1.5TBを解凍するのに34日かかります)。

理由を解明しようとしていますが、気づく唯一の奇妙な点は、unpackプロセスを実行しているとき、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]
62
David Parks

次の方法で殺すことができます。

Sudo killall updatedb.mlocate

または:

Sudo kill -9 <PID>

Cronによって毎日実行されます。以下で無効にします:

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

そして、再度有効にしたい場合:

Sudo chmod +x /etc/cron.daily/mlocate
71
Eric Carvalho

私はこのプロセスを完全に排除したくはありませんでしたが、あまり頻繁に実行したくないので、毎日ではなく毎週実行するように設定する方法を考えました。これは、受け入れられた回答 上記 に基づいていますが、無効にしないため、おそらく独自の回答としてリストするのが最適です。

とはいえ...かなりシンプルで、うまく機能しているようです。

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ジョブを無効にします。 2番目は、毎週のタスクに移動します。 3番目のコマンドは、許可が有効になるように設定します。毎日、毎時、毎週、毎月がすべてのオプションです。

17
KGIII

locateを使用したことがないため、削除しました。 Sudo dpkg -P mlocate関連項目: https://wiki.archlinux.org/index.php/File_system_search

10
ant-san