萬盛學電腦網

 萬盛學電腦網 >> 電腦基本常識 >> 減少頻繁的內存申請和釋放

減少頻繁的內存申請和釋放

   有一些程序在運行過程中,會頻繁申請和釋放內存,例如Oracle 的Listener連接程序在使用Dedicated設置,並且連接屬於短連接的情況下,會不斷建立新連接,申請內存空間,完成客戶端SQL請求,然後釋放內存,退出。當系統繁忙的時候,表象就是系統建立很多新進程,進程號不斷變化,同時有大量的sr和fr,而且fr與sr幾乎相等(在系統內存很多的情況下,否則fr一般只有1/6-1/4sr大小,甚至更少。這說明檢索了4-6塊的物理內存,才發現一塊內存可以釋放)。這種情況下,即使系統有足夠的內存進行調度,也會由於系統浪費了大量的CPU資源用於內存數據檢索,而導致系統運行緩慢。解決方式是通過Oracle設置將短連接類型變成長連接,例如設置shared server/service;延長連接程序的空閒等待時間,甚至更改客戶端的工作方式,避免不必要的內存掃描/請求和釋放動作。

copyright © 萬盛學電腦網 all rights reserved