92% dari syslog diisi dengan pesan tentang 'ureadahead' mengabaikan jalur relatif

36

Saya hanya menyalakan laptop saya (menggunakan Ubuntu 15.10 64-bit) dan memeriksa syslog untuk log hari ini. Dari total

$ cat /var/log/syslog | grep 'Mar 23' | wc -l
23791
$ cat /var/log/syslog | grep -P 'Mar 23.*Ignored relative path' | wc -l
21863

dan isinya seperti:

Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:.: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:.: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:tunables: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:xdg-user-dirs.d: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:..: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:multiarch.d: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:..: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:home.d: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:..: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:..: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:abstractions: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:apparmor_api: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:..: Ignored relative path
.
.
.
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:3826/stat: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:3826/cmdline: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:list-c: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:tracing_on: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:events/fs/open_exec/enable: Ignored relative path
Mar 23 12:02:56 Ubuntu ureadahead[279]: ureadahead:events/fs/do_sys_open/enable: Ignored relative path

Mengapa ~% 92 dari syslog saya diisi dengan pesan seperti itu?

Mostafa Ahangarha
sumber
Benar-benar tidak ada
Mostafa Ahangarha
bagaimana dengansudo systemctl disable ureadahead.service
dashesy

Jawaban:

25

ureadahead melakukan salah satu dari dua hal ketika dimulai: jika /var/lib/ureadahead/packada dan tidak lebih dari satu tahun, ia membaca file yang direkam dalam paket. Namun, jika paket tidak ada atau sudah tua, ureadahead berjalan dalam mode "jejak" , memantau file apa yang dibuka dan merekamnya dalam file paket untuk digunakan di boot selanjutnya.

Ini adalah mode jejak yang mengeluarkan pesan-pesan ini. Jadi, jika Anda boot lagi dalam setahun, tidak ada pesan. Inilah sebabnya mengapa orang melihat masalah yang tampaknya "menyelesaikan sendiri", tetapi mereka akan kembali dalam setahun, dan dapat dibuat untuk muncul kembali dengan menghapus /var/lib/ureadahead/pack;

Ada pemicu paket untuk melakukan ini ketika ada perubahan /etc/init.d, sehingga membaca ulang sering dilakukan setelah pembaruan. ureadahead tampaknya selalu bekerja seperti ini, tetapi peringatan hanya ditulis untuk stderr, dan sebelum systemd dan journald, pesan tidak pernah pergi ke mana pun. Mungkin ureadahead harus diubah untuk hanya mengeluarkan pesan-pesan ini dalam --verbosemode, tetapi sementara itu saya bekerja di sekitar file dengan menjalankan ureadahead dalam --quietmode. Saya bisa melakukan ini dengan file drop-in systemd: membuat file bernama /etc/systemd/system/ureadahead.service.d/quiet.confmengandung

[Service]
ExecStart=
ExecStart=/sbin/ureadahead -q
rfm
sumber
8

Hanya apt purge ureadahead- pada kosmik Ubuntu telah menyerah. Itu tidak pernah banyak membantu, dan bagi kebanyakan dari kita yang hanya reboot ketika ada pembaruan, itu tidak pernah membantu sama sekali.

rfm
sumber
Karena sudah lama sejak saya memposting pertanyaan ini, saya telah meningkatkan ke versi server baru Ubuntu. Jadi saya tidak dapat memverifikasi apakah ini akan membantu yang lain tidak. Tapi terima kasih atas masukan Anda. Saya harap ini bermanfaat bagi orang lain yang masuk ke masalah ini
Mostafa Ahangarha
Saya baru saja mengalami masalah ini, dengan Ubuntu Server 16.04.5 yang baru diinstal. Akan menghapus ureadahead.
Endrju
Saya mencoba untuk menghapus ureadahead seperti yang disarankan, namun itu juga akan menghapus ubuntu-minimal (ini pada ubuntu 16.04)
Mohan Nbs
1
ubuntu-minimal hanyalah paket pseudo yang bergantung pada paket yang terdiri dari instalasi Ubuntu minimal, salah satunya (dalam 16.04) adalah ureadahead. Karena Anda sudah menginstal semua paket minimal, menghapus ubuntu-minimal tidak akan mengubah apa pun. Namun jika Anda tidak suka itu, cara lain untuk menghentikan ureadahead agar tidak berjalan saat boot adalah "sudo systemctl nonaktifkan ureadahead.service".
rfm
2

Saya akan merekomendasikan canvassing log sebelum ureadahead mulai menulis untuk itu.

Sistem saya memiliki gejala yang sama dan apa yang saya temukan adalah kesalahan terkait dengan kurangnya Java Runtime Environment:

gnome-session[939]: javaldx: Could not find a Java Runtime Environment!

Serta kesalahan mencatat tidak adanya perpustakaan tertentu: libvdpau_nvidia.so.

gnome-session[939]: Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory

Apa yang saya lakukan adalah menginstal JRE8 dan kemudian membuat symlink ke /usr/lib/libvdpau_nvidia.so di mana itu sedang dicari. Satu (atau keduanya) dari tindakan ini memecahkan masalah bagi saya.

FLM
sumber
Terima kasih atas jawaban Anda. Tetapi saya telah menginstal ulang Ubuntu dan sekarang saya menggunakan Ubuntu 16.04 jadi saya tidak dapat menggunakan saran Anda. Namun untuk beberapa alasan yang tidak diketahui masalah diselesaikan setelah beberapa hari.
Mostafa Ahangarha