פורסם 2004 באוקטובר 2021 שנים כולכם כאלה חכמים? למה אתם חושבים שאתם יודעים יותר טוב מהחבר'ה הטובים במיקרוסופט? תאמינו לי שהם חשבו על זה קצת.תשאירו את זה על הברירת מחדל ואל תתעסקו, לא תהרסו כלום, אבל גם לא תשפרו...ידעתם שזיכרון וירטואלי הוא חלק בלתי נפרד מהפעולה השגרתית של תהליכים? יש דברים שפשוט לא אמורים להיות בזיכרון הפיסי ומקומם בזיכרון הוירטואלי, ככה שגם אם תגרמו למחשב לשים הכל בזיכרון הפיסי, כי יש לכם הרבה, לא תקבלו תוספת לביצועים אלא גריעה, בגלל השימוש הפחות בSystem Caching.עם כל הכבוד למיקרוסופט, ההגדרות שלהם הרבה פעמים תואמות למשתמש הממוצע, זה שרוצה שינהלו בשבילו הכל, זה שלא רוצה לשמוע על הגדרות, זה שאוהב Wizardים. אנחנו לא כאלה, ועצם זה שהמשתמש שואל את השאלה (ושמיקרוסופט מאפשרים לך לשנות את האופציה הזאת), אומרת שיש על מה לדבר.והייתי רוצה לראות דוגמה שבו שימוש ב-RAM במקום הזכרון הוירטואלי גורעת מהביצועים. הזכרון הוירטואלי הומצא למקרים שאין מספיק RAM, ולא להיפך!לפותח הדיון, יש לך מספיק זכרון כדי שתוכל לעבוד בלי זכרון וירטואלי, אבל רק בשביל התוכנות שצריכות את זה (כמו הדוגמה של Holy), וכדי לפתור בעיות כאלה או אחרות שעלולות לצוץ לך, אני מציע שתגדיר כמות קבועה וקטנה של זכרון וירטואלי (הייתי הולך על 50 מגה). אתה תבטיח ככה שרוב מערכת ההפעלה והתוכנות שאתה מריץ יושבות בזכרון האמיתי ותראה שיפור משמעותי בביצועים.וחבר'ה... לא לריב. זה בסה"כ זכרון וירטואלי.
פורסם 2004 באוקטובר 2021 שנים אם יש לי 512MB? על כמה כדאי לשים?עכשיו זה על:Initial size: 768maximus size: 1536כדאי לשנות משהו?
פורסם 2004 באוקטובר 2221 שנים אני הבאתי את הלינק הזה בתור דוגמא לאפלקציה שמסרבת לעבוד בלי זיכרון וירטואלי, לא שום הסבר על איך זיכרון וירטואלי עובד.בינתיים כולכם דיבורים, הוכחות אין לך.אתה אתה לא יכול לפסול שום דבר עד שלא תביא הוכחה נורמאלית, גם אתה רק דיבורים.הדוגמא שהבאת ממש לא רוונטית כי:1) אם יהיה מספיק זכרון פיזי אני בטוח שהיא תעבוד גם בלי זכרון וירטואלי (ואני לא מדבר על 64MB, אלא נניח 256MB או יותר, אין מצב שזה לא יעבוד.)2) זה כבר לא רלוונטי לימינו, הכתבה הזאת נכתבה בכלל לפני 7 שנים!חוץ מזה שעוד לא הבאת שום הוכחה לטענה הבאה (בעיקר המודגשת), בחיים לא ראיתי שום אתר שאפילו מרמז על תופעה כזאת, תאיר את עיני.המון תוכנות מקצות הרבה יותר זיכרון ממה שהן צריכות מראש, כי הן יוצאות מתוך הנחה שזיכרון וירטואלי יש בשפע והזמן שיקח להן כל פעם להקצות עוד בלוק הוא מאד יקר. לכן המחשבה היא להקצות מראש הרבה יותר ממש שצריך ובהמשך לנצל את זה במקום כל פעם להקצות עוד חלק. מה שזה יוצר זה שאתה מבזבז כמויות מהזיכרון ועלול להגיע למצב שהזיכרון נגמר למרות שלא השתמשת ברובו. בנוסף יש תוכנות שיזהו שכמות הזכרון קטנה ומראש יקצו פחות, וכך כל פעם שיגמר הזיכרון הן יקצו עוד בלוק ועוד בלוק מה שיאט מאד את פעולתן.אם יש לי 512MB? על כמה כדאי לשים?עכשיו זה על:Initial size: 768maximus size: 1536כדאי לשנות משהו?כן, קבע גם את הInitial size וגם את הMaximum size ל-1536והייתי רוצה לראות דוגמה שבו שימוש ב-RAM במקום הזכרון הוירטואלי גורעת מהביצועים. הזכרון הוירטואלי הומצא למקרים שאין מספיק RAM, ולא להיפך!לפותח הדיון, יש לך מספיק זכרון כדי שתוכל לעבוד בלי זכרון וירטואלי, אבל רק בשביל התוכנות שצריכות את זה (כמו הדוגמה של Holy), וכדי לפתור בעיות כאלה או אחרות שעלולות לצוץ לך, אני מציע שתגדיר כמות קבועה וקטנה של זכרון וירטואלי (הייתי הולך על 50 מגה). אתה תבטיח ככה שרוב מערכת ההפעלה והתוכנות שאתה מריץ יושבות בזכרון האמיתי ותראה שיפור משמעותי בביצועים.לגבי המשפט הראשון שלך, זה נכון אבל הבעייה היא (כפי שרשמתי) שמה שאתה מקצה בInital size, את החלק הזה חלונות תמיד ימלא עד הערך שרשום בו, במידע שנלקח ישירות מהזכרון הפיזי.הכוונה שאם הגדרת את הInital size ל1GB אז חלונות יעתיק את מה שיש בזכרון בפיזי עד שיגיע ל1GB! תחשוב שכל פעם שאתה פותח תוכנה מה הOS צריך לעשות, עצם העובדה שחלונות צריך כל הזמן להעביר מידע בתוך הקובץ הזה, כבר זה מאיט בצורה משמעותית את ביצועי המחשב.ההמלצה שלך היא טובה! 50MB לא ממש יזיזו ובמקרה שהמשתמש יעבור את כמות הזכרון הפיזי שקיימת אצלו, המחשב יתחיל להשתמש בזכרון הוירטואלי.הייתי ממליץ למשתמש הממוצע את ההגדרה הבאה (לבעלי 1GB זכרון):Initial size: 50MBmaximum size:300MBלפי הערכתי, שימוש בהגדרה כזאת תגרום למערכת ההפעלה להשתמש בVM עם יותר מ50MB רק כאשר לא יישאר לו מקום בזכרון הפיזי.
פורסם 2004 באוקטובר 2221 שנים חוץ מזה שעוד לא הבאת שום הוכחה לטענה הבאה (בעיקר המודגשת), בחיים לא ראיתי שום אתר שאפילו מרמז על תופעה כזאת, תאיר את עיני.אם היית יודע תכנות ברמה גבוה לא היית צריך הוכחה לזה. הקצאה דינאמית של זיכרון מאד יקרה מבחינת זמן, לכן המון תוכניות מעדיפות להקצות בהפעלה שלהן מקום יחסית גדול ואחרי זה להשתמש בו לצרכים הפנימיים שלהם. במצב שאין הרבה זיכרון תוכנה יכולה לעשות אחד משני דברים1. להמשיך להקצות הרבה מקום ולסתום את הזיכרון.2. להקצות רק קצת מקום וכל פעם שהוא נגמר להקצות עוד, מה שיעלה בדרך כלל הרבה בזמן ריצת התוכנית.כמעט כל התוכניות פועלות בשיטה 1, כי הן מניחות שיש זיכרון וירטואלי מספיק גדול בשביל להחזיק את ההקצאה שלהן.ואם אתה מתעקש על הוכחה, למרות שאני בטוח שאתה תגיד שהיא לא נכונה הנהCan the Virtual Memory be turned off on a really large machine?Strictly speaking Virtual Memory is always in operation and cannot be turned off. What is meant by such wording is set the system to use no page file space at all.Doing this would waste a lot of the RAM. The reason is that when programs ask for an allocation of Virtual memory space, they may ask for a great deal more than they ever actually bring into use the total may easily run to hundreds of megabytes. These addresses have to be assigned to somewhere by the system. If there is a page file available, the system can assign them to it if there is not, they have to be assigned to RAM, locking it out from any actual use.כל מה שהיה צריך זה לחפש בגוגול allocation + virtual memoryhttp://aumha.org/win5/a/xpvm.php
פורסם 2004 באוקטובר 2221 שנים יש לי WIN2K וכשאני מבטל את הוירטואלי (0 בשני הערכים) הוא כותב לי כשאני מריץ תוינדוס שזה מבוטל ושאני צריך להחזיר אבל אז הוינדוס עובד רגילמה הולך כאן
פורסם 2004 באוקטובר 2221 שנים ב-2000 למיטב ידיעתי (ואשמח אם מישהו יתקן אותי) אי אפשר לבטל את הזכרון הוירטואלי, לפחות לא בדרכים קונבנציונאליות. לפני SP2 זה לא רק בלתי אפשרי, אלא גם מסוכן.
פורסם 2004 באוקטובר 2221 שנים שאני קובע גם את הInitial size וגם את הMaximum size ל-1536 זה לא יעשה בעיות?יהיה שיפור בכלל?
פורסם 2004 באוקטובר 2221 שנים אני עובד על XP Pro SP2 כרגע הזיכרון על אפשרות שהווינדוס ינהל אותו.יש לי זיכרון 256MB על איזו אפשרות הכי כדאי לשים?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.