opendirectoryd mengkonsumsi 40% CPU

22

Saya memiliki MacBook Pro dengan Lion 10.7.2, CPU 2.26 GHz dan RAM 2GB DDR3.

Jika saya menelpon

top -o cpu

yang /usr/libexec/opendirectorydproses mengkonsumsi lebih dari 40% dari CPU.

$ ps aux | grep opend                                                                       
root 27834 40,4 0,3 2472048 5780 ?? Rs 6:36PM 167:19.66 /usr/libexec/opendirectoryd

masukkan deskripsi gambar di sini

juanpablo
sumber
@slhck /usr/libexec/opendirectoryd
juanpablo

Jawaban:

22

Masalahnya terkait dengan symlink mati di Dropbox. Temukan mereka menggunakan:

find ~/Dropbox -type l -printf "%Y %p\n" | grep "^N"

Solusinya adalah: Hapus symlink yang mati. Jika findtidak memiliki printfopsi, gunakan:

find -L ~/Dropbox -type l

Referensi

Untuk menemukan symlink yang mati

juanpablo
sumber
Bertanya-tanya bagaimana Anda mendapatkan solusi pertama untuk bekerja dengan BSD finddi OS X. Anda setidaknya harus menginstal GNU findutilsuntuk mendapatkan printfopsi.
slhck
Saya telah menginstal findutils find --version 13:17 find (GNU findutils) 4.4.2
juanpablo
Oke, yah itu tidak dikirimkan dengan OS X sehingga perintah yang Anda gunakan tidak akan bekerja.
slhck
Versi BSD dari perintah find yang mencantumkan symlink yang rusak: find '~/Dropbox' -type l -print0 | xargs -0 file | grep broken
Piotr Czapla
11

Seperti yang disebutkan oleh @juanpablo, ini mungkin disebabkan oleh symlink.

Rupanya, jika sebuah symlink menunjuk ke /home, autofs atau automountd menyala dan mengambil banyak CPU untuk mengetahui bahwa tempat itu memang tidak ada.

Lihatlah /etc/auto_homedan /etc/autofs.conf.

Untuk melihat apakah Anda terkena masalah khusus ini, atur

AUTOMOUNTD_VERBOSE=TRUE

opsi masuk autofs.conf, mulai ulang automountd

sudo launchctl stop com.apple.automountd

dan tinjau syslog.log (Anda dapat menggunakan aplikasi: Konsol). Anda terpengaruh oleh masalah ini jika Anda melihat sesuatu seperti itu:

May 20 17:53:43 xxx automountd[31709]: od_search failed

Untuk solusi, mengedit file /etc/auto_masterdan hapus (atau hash keluar #) baris yang dimulai dengan /home. Lalu lari:

sudo automount -vc
Marek
sumber
1
Terima kasih, ini menyelesaikan masalah saya juga, dan itu terkait dengan Dropbox - Saya memiliki beberapa tautan mati yang menunjuk ke /homedalam folder Dropbox saya (sisa cadangan dari sistem sebelumnya) yang menyebabkan perilaku ini. Menonaktifkan /homedi auto_home tetap itu.
zzamboni
1

Bagi saya yang benar-benar menyelesaikannya adalah mencabut kabel ethernet dari iMac saya. Gila kedengarannya :) Saya diserang dari luar, bruteforce di sshd saya. Router yang saya miliki (dari UPC, Cisco EPC3925) secara default meneruskan semua lalu lintas dari luar ke port ethernet tunggal yang dimilikinya. Dengan mencabut kabel serangan berhenti karena iMac dibiarkan hanya pada WiFi.

Rupanya sshd menggunakan opendirectoryd dan itulah mengapa ini terjadi.

skrat
sumber