Virtual memory.

בעז 21

New member
Virtual memory.

למומחים שלום, אף פעם לא הבנתי למה היחס זכרון\ זכרון וירטואלי צריך להיות : 1/1.5 . לדוגמא ברגע שאתה מוסיף זיכרון ההגיון אומר שאתה תצטרך להשתמש בפחות Virtual memory ?. נזכרתי בחוסר ההבנה שלי בנושא כאשר נתקלתי במאמר הזה . כותב המאמר מעלה את השאלה הזאת אבל לא הבנתי מדבריו מה התשובה.. בברכה בעז.
 

antidot

New member
------->

יש כמה אי דיוקים במאמר שאני מתאר לעצמי נובעים מהרצון להציג את הנושא בצורה פשוטה. אני אתן דוגמא ואני מקווה שתבין את השאר לבד. נניח ויש מכונה עם 2GB של RAM. על אותה מכונה רץ תהליך X שה image שלו בזיכרון הוא 1.5GB (הכוונה לקוד בינרי שרץ + הזיכרון שהתהליך מקצה לצורך העבודה שלו). נניח וכרגע תהליך X אינו עושה דבר ומחכה למשהו (אבל עדיין תופס 1.5GB ). שים לב שכרגע כמעט ואין מקום פנוי בRAM (אל תשכח שגם הקרנל תופס מקום). אני מריץ אפליקציה שלאחר הרצתה מבקשת הקצאה של 1GB של RAM לטובת עבודתה. הקרנל רואה שאני מבקש להקצות זיכרון RAM ומנסה להקצות לי בלוק של 1GB. הוא יודע שכרגע אין ביכולתו להקצות בלוק של 1GB מתוך הRAM ולכן הוא מנסה לבצע paging לתהליכים לא פעילים ולהעביר אותם לpage file. אם כרגע אין לי Page file, האפליקציה שלי לא תוכל לעבוד. אם יש לי page file מספיק גדול (לפחות כגודל הRAM על מנת שאוכל "לשפוך" את התוכן של הRAM לדיסק) הקרנל יפנה לי מקום בRAM והאפליקציה שלי תוכל לרוץ. מה שתארתי למעלה גם מאוד מופשט ומלא אי דקויות, אבל זה הרעיון הכללי.
 

בעז 21

New member
Virtual memory .

1.תודה על ההסבר. באופן כללי אני מבין את הנחיצות ל virtual memory , עדין לא הבנתי למה הכלל אצבע של מיקרוסופט ליחס של 1.5 . מכל ההסברים שקראתי, מבחינתי? לתת כמה שיותר ל virtual memory ככה יותר טוב. 2.האם יש אתר בוא נותן את ההסבר המלא ל- Virtual memory באופן מלא וללא אי דקויות? בברכה בעז.
 

בעז 21

New member
Virtual memory .

1.תודה על ההסבר. באופן כללי אני מבין את הנחיצות ל virtual memory , עדין לא הבנתי למה הכלל אצבע של מיקרוסופט ליחס של 1.5 . מכל ההסברים שקראתי, מבחינתי? לתת כמה שיותר ל virtual memory ככה יותר טוב. 2.האם יש אתר בוא נותן את ההסבר המלא ל- Virtual memory באופן מלא וללא אי דקויות? בברכה בעז.
 

ezaton

New member
הבעיה נובעת מכמה גורמים

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

ezaton

New member
אין מחליף, יש דפדוף

וסוואפ תמיד יהיה סוואפ, קרא לו איך שתרצה.
 

בעז 21

New member
שורה תחתונה

כמו כל דבר בשרת גם פה יש צורך לבצע ניתור לגבי שימוש בזיכרון ובvirtual memory על מנת לדעת האם הקצאת מספיק מקום ל virtual memory.
 
למעלה