さて,だいぶ地ならしができたので,いよいよ本題でも. アプリケーションサイドでヒープマネジメントを行う場合,回収された使用済み (アクセス済み) メモリ領域がページアウトされるのを防ぎたい,という話があります. たとえば、一時的に、300MBぐらいメモリを使って、そのあとGCが動いて、使ってるメモリが15MBぐらいになったとする。 このとき、使わない285MBは、必要の無い領域になる、が、しかし、この領域には一旦書き込んでしまってるので、ページが割り当てられているわけだ。そうなると、他のプロセスがメモリを必要としたときに、この領域がスワップアウトしてしまう。 つまり、無駄なスワップが発生してしまうわけだ。PC使ってる時のストレスの80%ぐらいはスワップが原因(多分)なので、無駄なスワップが発生するのは心苦しい。 これは CLR の GC ヒープに限らず,Visual C++ に付属する s