Manajer timbunan tidak mungkin decommit kehabisan memori setelah kehabisan memori dibebaskan

PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.

Klik disini untuk melihat versi Inggris dari artikel ini: 3073576
Gejala
Manajer timbunan rendah fragmentasi timbunan (LFH) mungkin tidak decommit kehabisan memori yang telah dibebaskan menggunakanHeapFree. Oleh karena itu, byte pribadi dapat tumbuh meskipun kehabisan memori dalam tumpukan dibebaskan.
Informasi lebih lanjut
LFH throttles kembali kehabisan memori untuk timbunan back-end. Ketika aplikasi dalam Lingkaran Berkelanjutan yang mengalokasikan banyak kehabisan memori, kemudian membebaskan kehabisan memori, dan kemudian mengulangi proses, LFH sengaja tidak gulung balik semua kehabisan memori berkomitmen. Ini terjadi karena pola alokasi menunjukkan bahwa aplikasi harus mengalokasikan kehabisan memori lagi segera. Oleh karena itu, LFH akan cache bagian apa aplikasi dibebaskan untuk mempercepat alokasi. Aplikasi tetap pola, LFH akan terus kehabisan memori cache, dan peningkatan pribadi byte akan terjadi.

Titik utama adalah bahwa LFH (dan tumpukan umumnya) tidak dapat menjamin bahwa ketika blok kehabisan memori dibebaskan, blok kehabisan memori juga akan decommitted. HeapCompactdapat disebut untuk menunjukkan ke tumpukan bahwa mungkin waktu yang baik untuk Bersihkan keluar dengan cache. Ini dapat menghindari peningkatan byte pribadi. Namun, manajer timbunan masih akan mengabaikan permintaan.
Teknik pemecahan masalah
Pribadi byte menghitung sesuatu yang berbeda dari alokasi timbunan aktif. Jika Anda harus memiliki kontrol pribadi byte kuat, Anda harus mempertimbangkan menggunakan VirtualAlloc dan VirtualFree api.

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 3073576 - Tinjauan Terakhir: 07/13/2015 21:16:00 - Revisi: 1.0

Windows 8.1, Windows 8.1 Enterprise, Windows 8.1 Pro

  • kbexpertiseadvanced kbtshoot kbsurveynew kbmt KB3073576 KbMtid
Tanggapan