DCSIMG
כמה זיכרון תופסת האפליקציה שלך? - Dotmad (on .Net)

Dotmad (on .Net)

Just Another Web 5.0 Blog

Podcasts

Blogroll

כמה זיכרון תופסת האפליקציה שלך?

לצערי אני עדיין נתקל בלא מעט אנשים המשתמשים בTask manager בתור כלי למדידת פרמטרים של ביצועים, ואפילו משתמשים בו לא נכון.

העמודה הקרוייה "Mem Usage" אינה מייצגת את מלוא צריכת הזיכרון של האפליקציה, אלא את הזיכרון המוקצה לה ברגע נתון, ויכול להשתנות בהתאם לשימוש במשאבי זיכרון משותפים עם אפליקציות אחרות.
דוגמה פשוטה תוכלו לראות אם תיצרו פרוייקט חדש מסוג Windows application עם טופס בודד, תריצו אותו ותבצעו Minimize. רואים איך הערך משתנה?

העמודה הרלוונטית יותר לצריכת זיכרון נקראת "VM size" (ואינה מוצגת כברירת מחדל), וכאן טעות נפוצה היא ההנחה שמדובר בזיכרון ווירטואלי, כלומר זיכרון המוקצה מהדיסק הקשיח ולא הזיכרון האלטרוני.
בניגוד לתפיסה השגוייה הזו, הערך הנ"ל מראה את צריכת הזיכרון האמיתית של יישום, ואין לו כל קשר לזיכרון ווירטואלי על הדיסק.

תוכן התגובה

Felix כתב/ה:

אחלה פוסט

- אבל אין דרך טובה יותר לבדיקה אמיתית של כמה האפליקציה תופסת בזיכרון ?

משהו קצת פחות טריוויאלי ויותר נוח מאשר ה- Task Manager ?

(אני שואל כי אני באמת רוצה לדעת!)

# August 30, 2007 1:43 PM

עדי כתב/ה:

בהחלט!

יש את כלי הperfmon.exe שגם הוא מותקן בחלונות.

הוא נותן לך מגוון רחב של מדדים, כולל אפשרות לשמירת הסטוריה של מדידות וחישוב ממוצע לאורך זמן.

המדד הרלוונטי בו, המקביל ל"vm size" - נקרא "private bytes",

ונמצא בקטגורית הprocess (יש לבחור באפליקציה שלך).

# August 30, 2007 3:10 PM