Saya hanya ingin tahu apa yang bertanggung jawab atas kernel_task. Juga, apa yang dimaksud dengan penggunaan RAM dan CPU maksimum yang dapat diterima?
Saya hanya ingin tahu apa yang bertanggung jawab atas kernel_task. Juga, apa yang dimaksud dengan penggunaan RAM dan CPU maksimum yang dapat diterima?
Jawaban:
Tugas kernel ini istimewa karena ini merupakan keseluruhan sistem operasi / mikro kernel berdasarkan Mach 3.0 . Ini mengabstraksi sebagian besar perangkat keras inti, pengaturan waktu, pengiriman pesan, dan penanganan memori.
Apa yang kebanyakan orang perhatikan dalam Monitor Aktivitas adalah yang kernel_task
mengakumulasi semua waktu CPU untuk penundaan / kalkulasi input / output (i / o) serta penjadwalan overhead proses dan utas. Demikian pula - ini mengakumulasi semua alokasi memori yang tidak ada di ruang pengguna. Pada Mac 2014 dan yang lebih baru, tugas ini ada untuk melambatkan CPU - ketika suhu dalam prosesor terlalu hangat, tugas kernel ditugaskan "tidak bekerja" dan menunjukkan CPU yang tinggi sibuk untuk membiarkan prosesor menganggur dan tidak terlalu panas pada komputer. Ini paling terlihat pada jalur portabel - terutama MacBook tanpa kipas atau blower untuk mendinginkan prosesor. Apple memperingatkan hal ini kepada pemrogram kernel potensial di "Mengapa Anda harus menjauh dari pemrograman di Kernel" bahwa menonaktifkan pendinginan akan menyebabkan kerusakan perangkat keras permanen yang tidak dapat diperbaiki.
Ringkasnya, pemrograman kernel adalah tanggung jawab yang sangat besar. Anda harus sangat berhati-hati untuk memastikan bahwa kode Anda tidak menyebabkan sistem macet, tidak memberikan akses pengguna yang tidak sah ke file atau memori orang lain, tidak memperkenalkan eksploitasi root jarak jauh atau lokal, dan tidak menyebabkan kehilangan data atau korupsi yang tidak disengaja. .
Jika Anda menontonnya setelah reboot, Anda akan melihatnya dimulai dengan RAM dan kebutuhan CPU yang minimal dan hanya tumbuh ketika program lain berjalan dan membutuhkan layanan sistem.
Untuk menurunkannya, matikan port yang tidak dibutuhkan (WiFi, bluetooth, dll ...) serta program idle / tidak terpakai. Jika semuanya tidak beres, pertimbangkan untuk me-reboot untuk memastikan tidak ada tugas yang macet atau memori bocor. Jika Anda memiliki program yang melakukan pekerjaan nyata, mereka akan menyebabkan kernel menggunakan memori dan waktu prosesor - lihat saja saat Anda memulai sesuatu untuk melihat program lain yang menyebabkan perilaku ini. Jarang ada masalah dengan kernel - bahkan dengan program yang berkinerja buruk - yang tidak dapat diselesaikan dengan keluar dan kembali lagi. Kernel_task membersihkan dengan baik dan biasanya hanya menggunakan sumber daya yang dibutuhkan oleh beban kerja.
Mac OS X Internal: Pendekatan Sistem - Amit Singh - Google Buku :
kernel menggunakan tugas dan utas abstraksi untuk membagi fungsinya menjadi berbagai aliran eksekusi. Kernel menggunakan satu tugas — tugas kernel — dengan beberapa utas yang melakukan operasi kernel seperti penjadwalan, menuai utas, manajemen info, paging, dan penanganan pengecualian Unix. Dengan demikian, xnu adalah kernel monolitik yang mengandung komponen-komponen yang sangat berbeda seperti Mach, BSD, dan I / O Kit, semua berjalan sebagai kelompok thread dalam satu tugas di ruang alamat yang sama.
http://lists.apple.com/archives/darwin-kernel/2010/Sep/msg00014.html :
Tugas kernel bukanlah tugas nyata. Ini mewakili kernel, yang merupakan inti dari sistem operasi. Sebagian besar dari apa yang dilakukannya terjadi atas permintaan langsung dari suatu aplikasi. Setiap kali Anda mengalokasikan sejumlah besar memori, buka atau tutup file, baca atau tulis file, tarik data melalui jaringan, buat proses atau utas baru, dll., Aplikasi Anda melakukan panggilan sistem. Panggilan-panggilan ini menyebabkan kernel berfungsi untuk aplikasi Anda. Sebagian besar pekerjaan itu ditagih ke tugas kernel, tetapi itu sebenarnya sedang dilakukan oleh aplikasi Anda, meskipun secara tidak langsung.
Alasan praktis mengapa kernel mungkin terlalu banyak bekerja adalah karena sistem Anda kehabisan memori dan meronta-ronta. Periksa grafik tekanan memori di bawah tab Memory Monitor Aktivitas untuk melihat apakah itu kuning atau merah.
Dalam hal ini, Anda dapat mengurutkan proses berdasarkan Memori dan menghentikan beberapa yang mengkonsumsi banyak, untuk mengurangi tekanan. (mis. bunuh beberapa proses Google Chrome Helper)