Katalog info stat yang efisien di Mac OS

0

Saya ingin membangun database informasi tentang file sistem dan pengguna di Mac OS, mungkin di sepanjang baris ini:

time sudo find / -type f -or -type d  -exec stat -f "{}||%p||%u||%g" "{}" \;

Di salah satu VM Linux saya (tidak di-host di laptop saya), sederhana sudo find /sangat cepat, dan sudo find / -exec stat ...memakan waktu sekitar 2,5 menit. Di MacBook Pro saya dengan drive SSD, simpel sudo find /membutuhkan waktu sekitar 2 menit dan sudo find / -exec stat ...membutuhkan waktu sekitar 12 menit.

Saya memiliki Mac yang lebih tua tanpa drive SSD, dan saya secara berkala menemukan diri saya membunuh proses menemukan bahwa perangkat lunak antivirus telah dimulai karena mereka menyebabkan drive untuk churn dan sistem menjadi kurang responsif, dan saya ingin menghindari jenis ini. Jika mungkin, kinerja akan terpukul.

Apakah ada cara efisien dan tidak mencolok untuk mendapatkan info stat untuk sebagian besar / semua file sistem dan pengguna pada sistem MacOS X? Mungkin perbedaan kinerja yang saya lihat terutama disebabkan oleh perbedaan dalam perangkat keras?

Eric Walker
sumber

Jawaban:

1

Ketika saya menjalankan ini di laptop saya, saya melihat penggunaan CPU yang tinggi dari opendirectoryd. Sepertinya stat menekan Open Directory untuk mengembalikan info pengguna dan grup. Pada kotak linux Anda, Anda mungkin menggunakan / etc / passwd untuk semua hal ini, jadi itu akan jauh lebih cepat.

Alan Shutko
sumber
Apakah ada cara untuk menonaktifkan pencarian ini ketika perintah dijalankan, tanpa mengubah status sistem?
Eric Walker