Apakah VRAM terintegrasi termasuk dalam RAM `kernel_task` di Activity Monitor?

11

Saya terkejut menemukan bahwa kernel Mac OS X dapat mengkonsumsi 750MB RAM. Beberapa pertanyaan terkait:

mengklarifikasi masalah ini sedikit, tetapi satu pertanyaan tetap: klaim bahwa memori video untuk grafis terintegrasi onboard ditandai sebagai digunakan oleh kernel juga .

Benarkah itu benar? Apakah VRAM termasuk dalam nomor yang ditunjukkan oleh Activity Monitor kernel_task?

sds
sumber
Sebagai catatan, tangkapan layar saya yang menampilkan ram sebesar 750 MB untuk Kernel adalah MacBook Pro, Retina, 13-inch, Awal 2013 dengan "Intel HD Graphics 4000 1024 MB" sebagai satu-satunya GPU dan CPU adalah 2,6 GHz Intel Core i5 . Saya akan mencoba untuk berlari sysdiagnosedan melihat apakah saya dapat memecah pertanyaan inti Anda.
bmike
@bmike: Jadi, karena Anda memiliki VRAM 1GB dan kernel_taskmenggunakan "hanya" 750MB, kami baru menetapkan bahwa semua 750MB berasal dari RAM yang biasa, bukan VRAM. Baik?
sds
Saya sudah mengambil 1.8GB oleh kernel, apakah ini buruk?
Render

Jawaban:

3

Versi Mac OS X apa yang Anda jalankan?

The kernel_taskMac OS X 10.9 Mavericks mengambil 1,07 GB RAM pada MacBook Pro 2012 saya (non-Retina) dengan grafis terintegrasi Intel HD4000 dan 16GB RAM sistem. Ya, ini sepenuhnya diperlukan. Jika Anda memiliki lebih banyak RAM fisik, maka Mac OS X akan menggunakan banyak untuk kernel_taskmembuat sistem berjalan secara optimal.

Dengan setiap versi baru Mac OS X selama bertahun-tahun, kernel_tasksemakin banyak memori yang digunakan untuk menjalankan Mac OS X.

Dalam pengalaman saya, jika Anda menjalankan Mac OS X 10.8 Mountain Lion, Mac Anda harus memiliki lebih dari 4GB RAM sistem untuk berjalan secara optimal (tanpa OS perlu menggunakan swapfile pada hard disk terus-menerus, yang menurunkan kecepatan kinerja). Sekarang tampaknya Mac Anda membutuhkan lebih dari 6GB RAM untuk menjalankan Mac OS X 10.9 Mavericks secara efektif.

Jumlah RAM yang dibutuhkan untuk Microsoft Windows 8.0 dan 8.1 dapat dibandingkan. Inilah yang diperlukan untuk sistem operasi komputer pribadi terbaru pada tahun 2013.

Harap dicatat bahwa banyak fungsi sistem berjalan di bawah kernel_task, dan daftar apa yang berjalan di Mac Anda berubah berdasarkan apa yang Anda gunakan untuk Mac Anda.

Saya menemukan penjelasan yang bagus untuk Anda, di " Kernel_task mengambil RAM di OS X " dari CNet pada 2011. Kutipan:

... Anda akan melihat proses lain yang disebut "kernel_task" yang juga secara teratur akan menggunakan beberapa ratus megabyte RAM nyata dan tampaknya meningkatkan jejak RAM dengan penggunaan sistem.

Kernel di OS X adalah arsitektur perangkat lunak yang bertanggung jawab untuk menangani sumber daya yang dibutuhkan oleh proses dan program. Ini termasuk manajemen penjadwalan multitasking, memori virtual, input dan output sistem, dan berbagai rutinitas komunikasi antar proses. Selain itu, kernel dapat dimodifikasi dan diberi fungsionalitas yang ditingkatkan dengan memuat ekstensi kernel (kexts) untuk menyediakan manajemen fitur tingkat sistem seperti Bluetooth dan Wi-Fi, prosesor grafis, perangkat keras pihak ketiga, akses ke perangkat periferal, dan sistem file khusus dukung. Intinya, kernel bertanggung jawab untuk menjalankan perangkat keras Anda dan membuat sumber daya perangkat keras tersedia untuk aplikasi dan layanan sistem.

... proses "kernel_task" dapat memakan banyak memori sistem. Ketika sistem mulai, meskipun Anda mungkin memiliki ekstensi kernel dimuat, tidak semua layanan aktif. Sistem mungkin siap untuk menggunakannya, tetapi tidak akan memuatnya sepenuhnya sampai dibutuhkan. Oleh karena itu, jika Anda memulai sistem Anda dan memeriksa Activity Monitor, Anda mungkin melihat proses kernel_task mengambil jumlah RAM yang relatif kecil. Ketika Anda kemudian mulai menggunakan sistem Anda dan mengaktifkan fitur-fitur seperti kamera iSight Anda, layanan Wi-Fi, beralih GPU, dan menggunakan perangkat eksternal, maka kernel_task akan menggunakan sumber daya untuk perangkat ini dan akan bertambah besar.


sumber
2
bagaimana ini menjawab pertanyaan aktual yang saya ajukan tentang VRAM?
sds
Saya percaya bahwa kata-kata asli dari pertanyaan Anda, seperti yang saya baca, adalah "Apa yang termasuk dalam kernel_task?" dan itulah yang saya coba jawab. Sejak saat itu, Anda telah menulis ulang judul pertanyaan.
2
Maaf pertanyaan saya membingungkan. Saya tahu apa itu kernel dan apa yang dilakukan, pertanyaan saya adalah tentang pelaporan penggunaan memori.
sds
2

Saya kira, sudah termasuk. Saya memiliki MBP 13 "2015 dengan Iris, dan kernel_task yang membutuhkan banyak memori juga, saya sedang menyelidiki situasi dan saya telah menemukan zprintperintah yang luar biasa . Ia mencetak penggunaan zona memori kernel, saya melihat 2 entri mengambil sebagian besar dari memori untuk saya:

  • com.apple.iokit.IOAcceleratorFamily2 - 758044K
  • vm.pages.array - 221204K

Sayangnya, saya gagal menemukan informasi yang dapat dipercaya tentang IOAcceleratorFamily2 (dan gagal menemukan informasi apa pun di vm.pages.array), tetapi namanya menyarankan untuk melakukan sesuatu dengan I / O dan akselerasi. Dari info itu saya kira, itu bagian dari memori, yang bertanggung jawab untuk akselerasi video dan didedikasikan untuk kebutuhan pemrosesan gambar Iris.

Saya melakukan sedikit tes, memulai perekaman layar dan dua video youtube 4K secara paralel: com.apple.iokit.IOAcceleratorFamily2 naik menjadi 1,1G dalam hitungan detik, dan setelah saya menghentikan rekaman dan videonya, jatuh ke 630M . Jadi, saya pikir, sangat mungkin, bahwa itu bertanggung jawab untuk VRAM.

Artem Shitov
sumber
Jadi tidak ada cara untuk mengurangi RAM hampir gigabyte itu? Bukankah seharusnya chipset video memiliki memori khusus? Mengambil minimal 800MB dari RAM adalah kejahatan :(
Kamafeather