簡體   English   中英

Solaris進程內存使用量增加,但並非永遠如此

[英]Solaris process memory usage increase but not forever

在Solaris 10上,我有一個具有奇怪行為的多線程進程。 它管理復雜的C ++結構(RWTVal或RWPtr)。 這些結構是根據存儲在數據庫中的數據(使用Pro * C)構建的。 流程每小時都會在數據庫中尋找新的信息,在內存中建立新的結構,並釋放舊數據。 但是,每次重復此過程,進程的內存使用量都會增加幾MB(12 / 16MB)。 進程的內存使用量從100M一直到1,4G。 到目前為止,該進程似乎存在內存泄漏。 但是奇怪的是,在此之后,該過程停止了,並繼續增長。 當我嘗試查找內存泄漏(使用Purify工具)時,該過程沒有增長,也沒有顯示出明顯的泄漏。 有沒有人發現類似的行為或可以解釋可能發生的情況?

釋放內存時,操作系統可能實際上並未“扔掉”舊的內存頁面,因為如果操作系統不必分配更多的頁面,則應用程序可以更快地分配更多的內存。 但只能達到上限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM