Saya sedikit bingung tentang ini.
Saya menjalankan impor besar di aperture, dan itu menyebabkan sistem saya melambat hingga merangkak sepenuhnya, pada dasarnya membuatnya tidak dapat digunakan untuk apa pun, bahkan menjelajahi web. Karena ini tampaknya agak tidak wajar, saya menghabiskan sedikit waktu untuk melihat-lihat.
Menjalankan ps -Al
menunjukkan bahwa, ternyata secara default, Dock
, Finder
, dan SystemUIServer
semua tampaknya dijalankan pada prioritas yang jauh lebih rendah aplikasi kemudian userland. Sementara aplikasi pengguna biasanya memiliki prioritas 33, Dock, Finder, dll memiliki prioritas 53.
Hasil akhirnya, adalah tugas intensif APAPUN prosesor sepenuhnya clobbers UI, dan membuat sistem tidak dapat digunakan sampai selesai.
Bagaimanapun, menggunakan renice -20 -p <prid>
menabrak mereka dengan prioritas yang sama dengan sisa UI userland, dan menghasilkan tidak harus menunggu 1-3 detik (!) Untuk UI untuk menanggapi sesuatu yang sederhana seperti klik mouse.
Thad berkata, saya punya dua pertanyaan:
Apakah ada alasan mengapa saya tidak boleh mengubah utas uterus seperti ini?
Apakah ada cara untuk membuat perubahan prioritas tetap, misalnya jadi tetap seperti itu setelah reboot.
sumber
Jawaban:
Saya tidak yakin siapa pun yang kekurangan pengembang Apple sendiri dapat menjawab pertanyaan ini, rahasia batin Finder adalah domain mereka. Jika menurut Anda ada beberapa masalah kelambatan yang terlihat dengan UI Anda mungkin ingin mengirimkan laporan bug ke Apple tentang hal itu.
Dilihat dari suara hal-hal (proses sengaja mengambil semua sumber daya) ini adalah sedikit kasus tepi untuk manajemen memori. Saya belum pernah melihat sistem berkinerja terbaik tanpa sumber daya sekitar 10-20% gratis, sebagai bantuan buffering.
Hanya ingin tahu, proses apa yang sedang Anda jalankan?
sumber
"Saya menjalankan impor besar di aperture, dan itu menyebabkan sistem saya melambat hingga merangkak sepenuhnya"
Maka Aperture (mungkin) adalah program yang Anda inginkan
renice
, bukan yang lain. Proses yang Anda sebutkan disetel relatif terhadap aplikasi pengguna rata-rata, sehingga aplikasi pengguna mendapatkan prioritas lebih tinggi dan tetap responsif, karena itulah yang paling sering digunakan pengguna.Kasing Anda adalah kasus yang kurang umum, di mana aplikasi melakukan tugas jangka panjang yang intensif dan pengguna ingin melakukan sesuatu yang lain pada waktu yang bersamaan. Secara default, aplikasi penggunalah yang mendapat prioritas sehingga tugas intensif ini mendapatkan lebih banyak sumber daya dan menyelesaikan lebih cepat.
Untuk setiap pengguna yang mengeluh bahwa aplikasi lain tidak cukup responsif, ada pengguna lain yang mengeluh bahwa aplikasi aktif tidak berjalan cukup cepat.
Jika Anda menjalankan tugas yang panjang dan intensif sumber daya dan Anda tahu Anda ingin memiliki prioritas yang lebih rendah sehingga Anda dapat menggunakan proses lain saat tugas selesai — dan Anda tidak keberatan jika tugas yang intensif memakan waktu lebih lama — Anda harus menurunkan prioritas proses menjalankan tugas intensif.
Adapun pertanyaan kedua Anda, ada beberapa solusi yang memungkinkan untuk menjadikannya
renice
lebih otomatis. Misalnya, Anda bisa membuat applet skrip yang menjalankan Aperture dengan prioritas lebih rendah dan menggunakannya untuk memulai Aperture. Atau Anda dapat memulai Aperture melalui skrip shell yang disimpan dalam file * .command (namun, itu akan membuka Terminal dan menjalankan perintah di jendela terminal, yang mungkin bukan yang Anda inginkan). Masing-masing sedikit terlibat. Jika Anda ingin contoh, saya dapat melihat tentang memberikannya nanti.sumber
renice
dalam berbagai hal, tetapi masalah sebenarnya adalah prioritas pencari.renice
beroperasi pada proses, bukan utas.Saya mengajukan pertanyaan serupa - dulu, di ServerFault - meskipun tidak secara khusus berfokus pada Finder (meskipun saya TIDAK menemukan Finder menjadi sangat lambat, juga). Bagaimana cara "mengubah nama" proses secara permanen pada Mac OS X (atau iOS, dll)? Tidak banyak info yang diperoleh di sana - tentang cara yang baik untuk melakukan ini ... atau mengapa itu seperti itu ..
Saya masih sering memikirkan hal ini, dan sebenarnya ada beberapa cara untuk merenung dengan "dasar-dasar" jika Anda berani. Seperti yang disebutkan sebelumnya, Anda dapat melakukan berbagai shell chicanery .. tetapi tempat yang baik untuk kesalahan seperti itu adalah berbagai
/etc/rc*
rutinitas boot .. yang sudah ada di sana .. mengatur semua jenis parameter sistem sewenang-wenang (yang ditentukan apel) untuk Anda. baik mengeditnya, atau mencari cara menambahkan rutinitas Anda sendiri ke proses boot.juga, jika Anda benar-benar ingin membuat kepala Anda meledak ..
sudo sysctl list
dan itu kunci kotak pandora, alias/etc/sysctl.conf
sumber