Saya menggunakan MBP saya (dengan 16GB RAM) seperti biasa dan tiba-tiba saya sudah popup ini bahwa:
Sistem Anda telah kehabisan memori aplikasi.
Untuk menghindari masalah dengan komputer Anda, keluar dari semua aplikasi yang tidak Anda gunakan.
Saya jelas telah menutup beberapa yang saya bisa, tetapi itu tidak membantu.
Setelah memeriksa memori, tampaknya tugas kernel memakan 7GB dan memori swap 22.36GB digunakan dari total 23GB (yang jelas merupakan kasusnya). Namun saya masih memiliki 20GB ruang kosong di SDD saya.
Activity Monitor tidak banyak membantu ketika OS X saya menuju kehancuran.
Saya top
statistik sebelum membekukan kernel saya:
Processes: 344 total, 2 running, 5 stuck, 337 sleeping, 2580 threads 19:23:56
Load Avg: 1.56, 1.62, 2.09 CPU usage: 3.51% user, 8.47% sys, 88.1% idle SharedLibs: 46M resident, 0B data, 6572K linkedit. MemRegions: 757970 total, 2139M resident, 56M private, 907M shared.
PhysMem: 9410M used (6198M wired), 556M unused. VM: 1155G vsize, 1311M framework vsize, 112872658(320) swapins, 122668389(0) swapouts. Networks: packets: 299419263/363G in, 142126838/14G out.
Disks: 58970173/1079G read, 20012389/1120G written.
Pada akhirnya OS X saya membeku dan saya harus melakukan hard reset, memperbaiki SDD saya dalam mode pemulihan dan memperbaiki sesudahnya (memulihkan pekerjaan yang hilang, memperbaiki konflik aplikasi, memeriksa folder yang hilang + ditemukan, tab Chrome / Terminal hilang, sakit kepala, dll. ).
Pertanyaan saya adalah, bagaimana cara memeriksa penggunaan memori yang tinggi dari tugas kernel atau bagaimana menangani dengan benar situasi seperti itu? Saya sudah mencoba mengambil Sampel dengan Activity Monitor, tetapi hasilnya berwarna abu-abu.
Rincian MBR saya: 2.3GHz Intel Core i7 (akhir 2013) dengan RAM 16GB. OS X: 10.9.5
zprint -t
(Singa) atausudo zprint -t
(Singa Gunung dan yang lebih baru).Jawaban:
Ada banyak hal yang salah dengan penggunaan tugas kernel yang tinggi. Biasanya ini terkait dengan proses yang salah atau berat yang menggunakan sumber daya sistem secara berlebihan (seperti penyimpanan indeks, menjalankan VM, terlalu banyak tab di browser web atau beberapa proses latar belakang lainnya).
Berikut adalah beberapa metode yang membantu untuk menyelidiki masalah penggunaan kernel OS X:
Metode dasar
Console.app
dan periksa ' Semua Pesan ' untuk melihat apakah sesuatu yang tidak biasa sedang terjadi.Gunakan Activity Monitor untuk membaca memori sistem dan menentukan berapa banyak CPU, RAM dan Disk yang digunakan.
Atau jalankan
top
di Terminal dan tahan Spaceuntuk menyegarkan - lebih mudah untuk menemukan masalah penyebabnya ( swapins / swapouts / disk ?).Jalankan
sudo fs_usage
di Terminal untuk melaporkan panggilan sistem dan kesalahan halaman yang terkait dengan aktivitas sistem file secara real-time (saya pikir ini adalah pilihan terbaik dari yang lainnya). Lalu tekan Control- Cuntuk menghentikannya.Tindakan: Pertimbangkan untuk mematikan aplikasi yang sering muncul dalam daftar, tetapi Anda tidak menggunakannya.
Pelajari lebih lanjut di: Bagaimana cara men-debug proses "kernel_task" di luar kendali?
Jalankan
sudo syscallbypid.d
(atausyscallbyproc.d
), tunggu sebentar, tekan Control- C. Sekarang periksa proses mana yang menghasilkan paling banyak panggilan sistem dalam waktu tertentu (kolom terakhir) dan jika Anda mengenalinya, pertimbangkan untuk membunuhnya. Jika tidak, cari di Google dan pelajari lebih lanjut.Metode lanjutan
Gunakan
sysdiagnose
perintah (dapat dipicu dengan menekan Shift- Control- ⌥- ⌘- .(periode) untuk dengan cepat mengumpulkan informasi diagnostik di seluruh sistem yang membantu dalam menyelidiki masalah memori / kinerja sistem (akan muncul di/var/tmp
) baik oleh Anda atau orang Apple. Selama analisis, cobalah untuk tidak melakukan apa saja, ketika dilakukan - pertimbangkan untuk mengompresi file yang dihasilkan dan menganalisis log.Lihat: Bagaimana Anda mendapatkan file diagnostik sistem dari OS X?
Jalankan
footprint
untuk mengumpulkan informasi memori terperinci pada level tipe per-VM-region dan bertukar byte:Versi yang lebih lama:
Gunakan
spindump
untuk profil seluruh sistem, itu akan menghasilkan/tmp/spindump.txt
file (termasuk kernel dan ekstensinya).Gunakan
vm_stat
untuk menampilkan statistik memori virtual. MisalnyaGunakan
zprint
untuk memeriksa informasi tentang penggunaan kernel, dimungkinkan dengan:Ini akan menampilkan zona kernel paling banyak.
Gunakan
newproc.d
untuk mengintip proses baru saat dijalankan,creatbyproc.d
untuk file:Catatan: Pada OS X yang lebih baru (10.11 atau lebih tinggi) ini mungkin tidak berfungsi ketika perlindungan integritas diaktifkan (centang oleh
csrutil status
).sar
Reporter aktivitas sistem coba yang dapat mengambil sampel dan melaporkan berbagai penghitung statistik kumulatif yang dikelola oleh sistem operasi.Untuk alat debugging yang lebih berguna, periksa skrip dtrace (
grep dtrace /usr/bin/*
). Jika Anda mengetahui proses yang salah yang menyebabkan masalah, Anda dapat menggunakannyadtruss
untuk debug itu.Tindakan
Berikut adalah beberapa saran yang dapat membantu Anda dengan masalah sistem operasi.
Bebaskan beberapa memori tidak aktif. Untuk melakukan ini, Anda harus membersihkan cache terlebih dahulu dan memaksa cache disk dibersihkan:
Fungsinya pada dasarnya untuk menghentikan semua operasi yang tertunda I / O yang menggunakan cache disk dan kemudian untuk membebaskan semua cache disk yang ditempati, sehingga seharusnya membebaskan ruang disk untuk memudahkan paging out dan menukar memori utama. Aman digunakan, karena tidak memengaruhi memori anonim yang telah dialokasikan melalui malloc, vm_allocate, dll.
Gunakan beberapa aplikasi pihak ke-3 untuk menghapus beberapa memori yang terlalu sering digunakan seperti iBoostUp , SystemPal , dll.
Anda juga dapat menonaktifkan Spotlight sementara:
Dan pertimbangkan layanan lain dengan:
Tutup browser web Anda dan periksa apakah itu membantu. Misalnya menggunakan Chrome sangat banyak akal, terutama ketika ada beberapa proses front-end yang terjadi di latar belakang (misalnya Javascript) atau animasi seperti iklan yang terus-menerus merender konten.
sumber
kernel_task
memori & cpu yang tinggi .Saya memiliki masalah yang sangat mirip setelah mengganti layar LCD saya pada iMac 2012 akhir. Fan berjalan pada RPM tinggi dan memiliki penggunaan CPU Kernel_task yang tinggi. Saya mempersempitnya ke sensor suhu Anda harus pindah dari layar LCD lama ke layar pengganti baru. jika Anda lupa melakukannya, kecepatan CPU dan Kernel_task terpengaruh memperlambat sistem Anda.
sumber