שְׁאֵלָה:
מדוע שאשבית את קובץ ההחלפה ב- Mac OS X?
Dan
2011-09-08 21:28:12 UTC
view on stackexchange narkive permalink

נתקלתי בשרשור בנושא התקנת כונן SSD ב- MacBook Pro.
מישהו בתגובות המליץ ​​גם להשבית את קובץ ההחלפה אך לא אמר מדוע:

  sudo launchctl פרוק -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plistsudo rm / private / var / vm / swapfile *  

מעניין מדוע רוצים להשבית את קובץ ההחלפה ב Mac OS X.
האם זה מגדיל את הביצועים? יציבות?
חסרונות כלשהם?

לבסוף, האם הגיוני להשבית את קובץ ההחלפה כאשר לא משתמש ב- SSD?

לעתים קרובות הוא מושבת על ידי פחות בקיאים מכיוון שהם שמעו באיזה בלוג שהביצועים זרקו את הגג. כונני SSD מספקים גם מיטת בדיקה נחמדה מכיוון שהם מהירים מטבעם. אל תעשו את זה. זה יקטין את היציבות, ועם הזמן יוביל להשפעות קטסטרופליות. עד היום לא ראיתי נתונים אמיתיים (תקפים ואמינים) שמראים עלייה בביצועים. וזה מרכיב קריטי במערכת הפעלה, בין אם יש לך 2 ג'יגה-בתים או זיכרון RAM או 120.
אילו השפעות קטסטרופליות? פשוט סקרן ... נראה שזה הופך את המכונה שלי (4GB MacBook Pro) להרבה יותר מהירה. לדוגמא, כשאני פותח חלונות מסוף חדשים כבר אין חסימה ... זה רגע שבו זה לקח כמה שניות לפני כן. והצלחתי לפתוח אפליקציות כפולות מכפי שבדרך כלל הייתי משתמש בשום דבר רע לא קרה.
orange80: הגורם הרגיל לחלונות מסוף איטיים הוא תהליך הכניסה לחיפוש הכניסה הקודמת, שניתן לתקן על ידי hushlogin: http://apple.stackexchange.com/a/54167/22570 - האם במקרה התחלת לבצע אתחול מחדש לאחר השינוי הגדרות החלפה, אולי? אין שום סיבה שמהירות חלון המסוף תשופר על ידי הסרת החלפה.
אני מבין שעם SSD בעל קיבולת קטנה אולי תרצה לפנות מקום. אך בצד הביצועים, כונני SSD הם הרבה יותר מהירים מ- HD ולכן אני לא רואה כיצד השבתה של החלפה במערכת הפעלה מבוססת SSD באמת תשפר את הביצועים. יש לך ניסיון בנושא? תודה.
ב- Super User, עם תשובה מקובלת: [השבת את Dynamic_pager של Mac?] (Http://superuser.com/q/417550/84988) (27/04/2012)
אני רוצה להשבית את ההחלפה מכיוון שאני רוצה להגן על ה- SSD שלי מפני כתיבה לעיתים קרובות מדי.
ארבעה עשר תשובות:
ghoppe
2011-09-08 21:44:09 UTC
view on stackexchange narkive permalink

תוהה מדוע רוצים להשבית את קובץ ההחלפה ב- Mac OS X. האם זה מגדיל את הביצועים? יַצִיבוּת? חסרונות כלשהם?

אני מניח שאנשים יעשו את זה בשביל כונן SSD מכיוון שלכוננים האלה אין את אותו החיים כמו כונני דיסק מסתובבים רגילים. יש מספר מוגבל יותר של מחזורי כתיבה, ולכן ככל הנראה השימוש בהם עם קובץ החלפה ישתמש במחזורים אלה במהירות רבה יותר.

לבסוף, האם יש טעם להשבית קובץ החלפה כאשר לא משתמשים SSD?

אם יש לך הרבה זיכרון RAM, זה אולי יאיץ את הביצועים, אבל זה לא רעיון טוב באופן כללי . אם אתה אכן נתקל בתקרת הזיכרון, הדברים הולכים ונהיית רעועים.

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

מערכת הזיכרון הווירטואלית של Mac מתעצלת מאוד בכך שהיא יוצרת את קבצי ההחלפה הפיזיים רק כאשר הגיע הזמן להחליף זיכרון ממשי. לא משנה מהי המהירות שתראה על ידי כך שלא תצטרך לעכב דברים בכדי להתאים כתיבה להחלפה, כמעט בוודאות יקוזזו על ידי רווחי המהירות הקודמים של החלפה זמינה מלכתחילה. החלפה הופכת את מקינטוש למהיר יותר. שאר התשובה היא _ספוט על_ - כל הכבוד!
מכונות Windows שלי עובדות הרבה יותר מהר ללא קובץ ההחלפה. יש לי זיכרון של 4 ג'יגה בייט. אני בהחלט אעשה את זה במכונת ה- Mac שלי.
@geotavros מערכת הזיכרון הווירטואלית ב- Mac OS X ** לא ** עובדת כמו Windows. עם 4 ג'יגה זיכרון, תאמין לי, ה- Mac שלך יעבוד מהר יותר כאשר זיכרון וירטואלי מופעל. השבתת VM תגרום לך רק לכאבי ראש ולחוסר יציבות במערכת.
לידיעתך, SSD מודרני עם פילוס כתיבה וקיבולת ראויה (128 GB), שנכתב באופן רציף, תהיה מגבלת מחזור כתיבה שנמדדה במאות שנים. זה היה פחד סביר בשנת 2000 עם כונני SSD קטנים ופרימיטיביים, אך לא יותר מכך.
עבור MacBookPro5,2 עם זיכרון של 8 ג'יגה-בייט שיפור הביצועים דרמטי. עבור נמר השלג או האריה ב- VirtualBoxVM השיפור מדהים. בכל שלושת המקרים נראה כי מערכת ההפעלה משתמשת בזיכרון באופן שממזער את הסיכון להגיע ל"גבול "(כאשר כל הדברים נעצרים ביעילות) אך הסיכון נותר, ולכן יש השפעה להתבונן בשימוש ב- Monitor Monitor.
לקבלת מידע אין לבלבל בין VM (או זיכרון וירטואלי) לבין קובץ החלפה. Windows, OS X, * BSD, Linux, יוניקס רבים משתמשים כולם בזיכרון וירטואלי. בדרך כלל הארכיטקטורה של מערכות הפעלה זו מעניקה VM לכל תהליך, התהליך מוקצה זיכרון באזור זה ומערכת ההפעלה דואגת לשים את הזיכרון שהוקצה על זיכרון RAM פיזי או להחליף כפי שמערכת ההפעלה רואה זאת. קיום החלפה או לא יכול להשתנות באופן זה או אחר בהופעות בקריטריונים שונים (מהירות, היענות וכו '), הדבר תלוי בעומס העבודה של כל אחד מאיתנו. כמו שאומרים אנגלים: הקילומטראז 'שלך עשוי להשתנות! ובגדול במקרה הזה.
Cajunluke
2011-09-08 21:44:41 UTC
view on stackexchange narkive permalink

הסיבה שהם השביתו את קובץ ההחלפה היא ככל הנראה פרנויה לגבי כונני SSD עם מספר כתובות מרבי לכל בלוק. ניתן לכתוב קבצי החלפה בתדירות גבוהה, עלולים לגרום לפיצול הדיסק (כמו גם לפיצול מערכת הקבצים), ובסופו של דבר, עלול לגרום לדיסק להיכשל מוקדם יותר.

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

האחרון שחוויתי (כאשר קובץ ההחלפה מופעל) כשנגמר לך שטח הדיסק. היה לי כונן של 120 ג'יגה עם ~ 3 הופעות בחינם. בזמן ששיחק ב- Civilization IV (משחק גדול ומסך מלא) נגמר למרחב הכונן הקשיח (~ 50 מג 'בחינם) והציגה את חלון "להרוג אפליקציות עכשיו". זה התחבא מאחורי המשחק במסך מלא, אז המערכת פשוט ננעלה. אם לא הייתי מסוגל להיכנס מ- Mac אחר כדי להרוג כמה אפליקציות מרחוק, הייתי צריך להחזיק את לחצן ההפעלה לחוץ.

אני רוצה להדהד איזה רעיון רע זה. נעשה שימוש בהחלפה גם אם יש לך 16 GB של זיכרון RAM. לא כל כך הרבה, אבל קטנטן כבר כתוב להחלפה. תמיד. זה אמצעי הגנה. ובעוד מערכת ההפעלה עשויה לפעול בלעדיה, אינך יכול להיות בטוח כיצד אפליקציות צד שלישי מתנהגות. HD נכתבים. זו עובדה אם החיים. ולא, לא תהיה עליית ביצועים של "העולם האמיתי". זה פלצבו.
@cksum בתרחישים מסוימים של שרתים, sysadmins ישביתו את קובץ ההחלפה מכיוון שהוא אכן הופך את התצורה הספציפית למהירה יותר, אך הם לא עושים זאת מבלי לבדוק כדי לוודא כי שניהם (א) לא אזול הזיכרון ו- (b) זה למעשה מהיר יותר. אבל זה שרת המופעל על ידי אנשי מקצוע: זה אף פעם לא הכרחי במכונה צרכנית.
@cksum אני יכול להסכים עם המשפט הראשון שלך, אתה צודק עם השני, השלישי והרביעי, אבל יש מנוחה זבל. מערכת הפעלה לא מחליפה ל"הגנה ", מערכת הפעלה מחליפה בכדי להפוך זיכרון זמין יותר לתהליך פעיל שידרוש זאת או להאיץ קלט / פלט על ידי חוצץ נתונים, כך שניתן יהיה לשחרר זיכרון לא פעיל זמן רב בזיכרון. כשאתה מפתח אפליקציה, אתה מבקש זיכרון למערכת ההפעלה, זיכרון זה הוא חלק משימוש בזיכרון הווירטואלי שלך, כמפתח או יישום שאתה לא יודע אם מערכת ההפעלה שמה את הזיכרון או חלק ממנו בזיכרון RAM הפיזי או בהחלפה. (המשך יבוא)
אז אם אפליקציה של צד שלישי מבקשת זיכרון רב יותר ממה שיש, מערכת ההפעלה תתן לה שגיאה. זה לא תלוי בהחלפה או לא. החלפה תעלה רק את הגבול, זהו. באשר לביצועים, אם יש לך שני משתמשים מחוברים, אם המשתמש הפעיל משתמש בעורך וידאו עם קבצים ענקיים, מערכת ההפעלה עשויה להתחיל לשים דפי זיכרון של המשתמש הלא פעיל להחלפה כדי להאיץ את המשימות שביצע המשתמש הפעיל. אתה מקבל ביצועים טובים יותר מבחינת מהירות במקרה זה. עם זאת, המעבר למשתמש האחר יהיה איטי יותר, מערכת ההפעלה צריכה להחזיר את ההחלפה. זה לא פלצבו!
@Huygens "לאחר החלפה יעלה הגבול גבוה יותר, זהו זה." אתה מתכוון למעט אמצעי הגנה? "להאיץ קלט / פלט על ידי חציצה של נתונים" החלפה אינה משמשת להאצת דבר. זיכרון RAM הוא, ותמיד היה, מהיר יותר מדיסק קשיח, SSD או HDD. החלפה משמשת כאשר אין יותר זיכרון RAM זמין להקצאה לתהליך נתון. זה נסיגה ... אמצעי הגנה מפני אזול הזיכרון להקצאה מוחלטת. זהו זה. אין בזה יותר מזה.
@cksum אני יודע, ואתה לא הבנת את ההערה שלי. על ידי שחרור זיכרון RAM (החלפת חלק ממנו בהחלפה) למערכת ההפעלה יש יותר מקום למאגר ולמטמון אשר לעיתים קרובות אך לא תמיד יכול להאיץ קלט / פלט. מגבלה גבוהה יותר פירושה שבמקום לשבור במגבלה של 2 ג'יגה-בייט (מכיוון שיש לך 2 ג'יגה-בייט RAM) היא תישבר ** ב -4 או 12 GB או יותר מכיוון שיש לך החלפה. כך שהחלפה מאפשרת להפעיל עוד אפליקציות במקביל. ברגע שתגיע למגבלה, התוצאה זהה עם החלפה או בלעדיה: יישומים הופכים להיות לא יציבים! להרחיב את הדלת זה לא כמו ליצור אמצעי הגנה! אנו יכולים לשוחח בצ'אט כדי להבהיר את דעותינו.
@Huygens במקרה של החלפה, גודל הזיכרון הנוסף הזמין הוא השטח שנותר בכונן הקשיח שלך, שהוא בדרך כלל די גדול. ואז, כן, המערכת תקרוס. קרה לי שזה קרה.
@CajunLuke ב- OS X זו יכולה להיות מערכת הקבצים המלאה, מה שעלול להוות בעיה עבור קבצי המשתמשים, ייתכן שקבצים מסוימים יתבררו כגודל אפס על ידי יישום כתוב רע. במערכת אחרת, הקובץ מוגבל או שהוא משתמש במחיצות ייעודיות. כלומר אם היו לי 300 GB פנויים בכונן שלי הייתי מוצא שזה באג ענק אם מערכת ההפעלה הייתה מנסה למלא את זה בהחלפה ;-) במיוחד בגלל שזה אומר שמשהו נורא לא בסדר קורה! :)
פעם (בלינוקס) שכחתי להקים מחיצת החלפה בעת ההתקנה. כשהייתי תלוי, חשבתי שמדובר בבאג גרעין - התברר שזה היעדר זיכרון החלפה בזמן ששיחק ב mincecraft. * השתמש בהחלפה. *
bmike
2011-09-08 22:15:52 UTC
view on stackexchange narkive permalink

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

הסיבה לכך שאתה יכול להשבית את ההחלפה היא כך שהמערכת יכולה לפעול על מדיה לקריאה בלבד כגון CD, DVD, תמונת רשת נעולה באמצעות NetBoot או fob USB לקריאה בלבד כמו מתקין Lion החדש או fob לשחזור נשלח עם כמה מחשבי מקינטוש שחסרים להם כוננים אופטיים.

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

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

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

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

המקרה שלך עם SSD עשוי להיות. להיות שונה, אז הודע לנו אם אתה מנסה את זה.

אני מוצא את ההפך, ** מהירות ** ענקית כאשר [dynamic_pager] (https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/dynamic_pager.8.html) הוא * נָכֶה*. צילום המסך שנמצא כרגע בכתובת http://apple.stackexchange.com/a/60661/8546 מציג את גודל הזיכרון הווירטואלי ואת מספר העמודים שנמדד בזמן שהדמון ההוא מושבת (בזמן שלא משתמשים בקבצי החלפה).
מה בדיוק נמדד כדי לקבוע מהירות? (או שאתה רואה היעדר עיכובים או עיכובים בממשק המשתמש או משהו אחר שאינו ניתן לכימות או למדידה בקלות?)
בלי למדוד: אצל אריה, רוב הדברים נראו מהירים בצורה ניכרת - מספיק בשבילי להשתמש במילה * ענקית *. לאחרונה: 10.8 ב- VirtualBoxVM, למשל, כדי להתחבר ולחדש את Monitor Monitor לוקח שש עשרה שניות עם 'dynamic_pager', שתים עשרה שניות בלי. לצורך השוואה רחבה ומדודה יותר אנו עשויים להשתמש ב- [Phoronix Test Suite] (http://www.phoronix-test-suite.com) או ב- [Geekbench] (http://www.primatelabs.com/geekbench/).
w00t
2011-09-13 23:03:35 UTC
view on stackexchange narkive permalink

אני אהיה הכוכב הלילה כאן: השבתתי את ההחלפה במכשיר ה- Macbook Pro של יוני 2008, וזה שיפר את הביצועים בצורה ניכרת: פחות המתנה, מעבר מהיר יותר בין יישומים.

שימו לב, אני שומר על הזיכרון הפנוי שלי והתקנתי 6GB. בפעמים המעטות שפגעתי במגבלת הזיכרון המערכת התרסקה :-D

ב- MacBook Air החדש שלי לא הייתי חולם להשבית את ההחלפה, היא כבר מהירה כשהיא מופעלת ויש לה רק 4GB להתחיל עם.

סיבה טובה נוספת לכך שאנשים מבטלים החלפה ב- SSD היא מכיוון שהם מקבלים כונני SSD זעירים וזקוקים לכל השטח שהם יכולים לקבל. בכל מקרה, אל תעשה את זה.

מדהים שיש לי ניסיון אמיתי איפה שזה עבד. מה הייתה התחייבות ה- RAM במכונה כאשר ההחלפה הושבתה? מה קרה כשפתחתם יותר אפליקציות מכפי שישתלבו בזיכרון RAM? כמה זיכרון RAM היה לך ואילו אפליקציות יפעלו באותו מקום בנוחות ללא שגיאות?
@bmike, לא בטוח, המערכת קורסת :-D, 6GB וכל אלה שאני משתמש :). צמצם או XCode הם חזירי זיכרון אמיתיים והם יכולים לפעמים להטות את המערכת אך סקייפ, דואר, אדיום, ספארי, כרום, iTunes ו- OmniFocus כולם מתאימים יפה ...
Shlepto
2011-09-19 13:26:33 UTC
view on stackexchange narkive permalink

הניסיון שלי דומה ל w00t. השבתתי את קובץ ההחלפה ב- SL וב- Lion כי עליית הביצועים עובדת בשבילי. שימוש קווי כבר יוצא משליטה לאחר כשבוע, אך אתחול פשוט מתקן זאת. אין לי SSD אלא דיסק איטי של 5400 סל"ד. תוחלת החיים של SSD לא ממש גרועה כמו שאנשים מנסים לגרום להם להיות. אם אתה עושה את זה פשוט בגלל שאתה חושש ללבוש את ה- SSD שלך אנא עיין ב: http://www.anandtech.com/show/4159/ocz-vertex-3-pro-preview-the-first -sf2500-ssd / 2 ו- http://community.intel.com/thread/21717?tstart=0 אינטל מדרגת את הכוננים שלהם ליותר מ -20 ג'יגה ביום, כל יום, עד למעלה עד 5 שנים בכונן של 80 ג'יגה-בתים. כוננים גדולים יותר יחזיקו מעמד זמן רב עוד יותר. המשתמש הממוצע אפילו לא משתמש ב- 10GB ליום.

אני מקפיד לפקח על השימוש בזיכרון 4GB עם תפריטים iStat ומשתמש בסקריפט אוטומטור עם הפקודה "purge" (דורש התקנת קוד X) כדי לנקות זיכרון לא פעיל ולפתוח זיכרון פנוי יותר לעיתים קרובות. . בפעמים המעטות שהיו לי אפליקציות עם דליפות זיכרון שמשתמשות בכל ה- RAM, הייתי צריך לבצע איפוס קשה. המקרים הנדירים של זה קורה והמהירות באופן כללי הופכת את הכדאית להשאיר את קובץ ההחלפה מושבת עבורי. אני מבין שלא אוכל לפתוח כמה אפליקציות בבת אחת בגלל זה כאמור על ידי אחרים, אבל אני יכול לעבוד עם זה.

[להיקף הזיכרון] (http://itunes.apple.com/gb/app/memory-scope/id470372671) יש אפשרות לטיהור אוטומטי. (אם Dynamic_pager מופעל, אני לא מאפשר טיהורים.)
user38390
2013-01-11 23:27:27 UTC
view on stackexchange narkive permalink

פשוט זורק את 2 הסנט שלי למי שרוצה להשבית החלפה בגלל כונני SSD קטנים: תמונת השינה משתמשת בהרבה יותר שטח דיסק.

ולמי שמודאג מהחיים המוגבלים של ה- SSD (במיוחד אלו עם שבבי MBA ו- SSD קשיחים שלא ניתן להחליף), אם המחשב שלך ישן פעמים רבות ביום, שכתוב תמונת השינה עשוי להיות דאגה. המחשב הנייד שלי ישן חצי תריסר פעמים ביום בקלות. זה כותב 48GB של נתונים ל- SSD שלי מדי יום.

הפיתרון בכל מקרה הוא השבתה של מצב שינה ואז למחוק את קובץ ה- sleepimage שגודל ה- RAM המותקן שלך (8GB במקרה שלי).

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

כדי להשבית את מצב שינה, במסוף, הפקודה היא כדלקמן:

  sudo pmset -a hibernatemode 0  

כדי לאפשר מצב שינה, הפקודה היא כדלקמן:

  sudo pmset -a hibernatemode 3  

כדי למחוק את תמונת השינה האחרונה בכדי לפנות שטח SSD / HDD (הגיוני רק אם תכבה את מצב שינה, אחרת חדש ייקח את המקום הזה בפעם הבאה שהמחשוב שלך ישן):

  sudo rm -rf / var / vm / sleepimage  

מקור: man pmset

Konstantin
2011-11-23 04:43:52 UTC
view on stackexchange narkive permalink

השבתת החלפה מגדילה את הביצועים. לדוגמא, אני משתמש באופן קבוע בצמצם וכאשר החלפה גדלה הביצועים מחמירים וכאשר היא חורגת מ- 1 GB, עלי להפעיל מחדש את מערכת ההפעלה כדי לנקות אותה ולשחזר את הביצועים. הערה: למכונה יש 6 גיגה זיכרון RAM ולא בכולם תפוסה, כ -3 גיגה-בתים הוא בחינם, אך 1G מוחלף משמעותית את הביצועים.

opensourceame
2011-11-25 14:35:35 UTC
view on stackexchange narkive permalink

אני משבית את ההחלפה במכונות כבר שנים רבות, הן ב- OS X והן בגרסאות UNIX אחרות.

אני משתמש בכלי כדי להזהיר אותי כאשר הזיכרון מתרוקן, ולעולם לא לדאוג למערכת שלי. מתרסק.

ל- iMac שלי יש 12 ג'יגה-בתים, ועם השבתת החלפות כמעט תמיד יש לי 4 ג'יגה-בתים בחינם, אפילו עם מספר פיתוח כלים, אפליקציות, דפדפנים וכו 'פתוחים

באיזה כלי זיכרון אתה משתמש?
Rich
2012-08-10 21:16:32 UTC
view on stackexchange narkive permalink

הדפוס החוזר כאן הוא זה:

מי שיש להם השבתת קובץ החלפה חווה ביצועים משופרים (עם זיכרון RAM פיזי מספיק)

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

זה נובע פשוט משני דברים:

  1. רעיונות מיושנים לגבי המחסור ועלות גבוהה של זיכרון RAM פיזי שכבר אינם תקפים
  2. מנגנון החלפה גרוע באמת ב- MacOS הגורם לשימוש בקבצי החלפה כשיש מספיק זיכרון RAM פיזי.
YMMV. אני כבר לא משבית את ההחלפה מכיוון שלא מצאתי את זה כדי לעזור לביצועים במכונות מודרניות וטעונות RAM. בעבר נהגתי כמו שזה עזר בימים הרעים. כיום לא רק שאני לא רואה שום שינוי בביצועים על ידי השבתת החלפה, אני רואה חוסר יציבות יישומים מוגבר מאוד.
הדבר הבלתי רצוי ש- יקרה_ הוא שאדם ישכח שהוא לא יכול להפעיל תוכנית אחרת ועם הזמן המכונה תקרוס בגלל שגיאת זיכרון נמוכה. אם זה נורא, הומוריסטי, חינוכי תלוי בתזמון, בתדירות הגיבוי שלך ובסובלנות לעיכובים.
אם נעשה שימוש בשטח החלפה בלבד בעת הצורך, זה יהיה נהדר. עם זאת, זה לא המקרה. אני מריץ מכונות וירטואליות של 2GB ו- 4GB ב- MacOS שלי. אם יש לי זיכרון RAM פנוי בנפח 1.6 גיגה, אני אמור להיות מסוגל להריץ מכונה וירטואלית בנפח 1 ג'יגה-בתים (או תוכנית אחרת), אך אני לא מצליח מכיוון שהמערכת ההפעלה מתחילה לדפדף אותה. כתוצאה מכך, אני יכול להשתמש בכ- 85-90% בלבד מה- RAM. אם אני רוצה להגיע לכל ה- RAM שלי, אני צריך להשבית את ההחלפה. אני עושה זאת בכל מכונות Windows שלי, והייתי רוצה לעשות זאת גם ב- MacOS שלי. אם התוכנית נגמרת של זיכרון RAM, היא תיכשל. זה מה שאני רוצה שיקרה. אני לא רוצה יישומים אחרים שמריצים
Shane Hsu
2013-01-30 07:42:06 UTC
view on stackexchange narkive permalink

רק חוויה אישית.

  כמות זיכרון | 4 ג'יגה | אל תשבית אותו, Mountain Lion עצמו מתחיל עם כ- 1 GB. 8 ג'יגה | בצע אם אינך מריץ אפליקציות שדורשות זיכרון של יותר מ- 1 GB, בקיצור תוכנת וירטואליזציה, פוטושופ ודברים. 16 GB ומעלה | תעשה את זה! אפילו Xcode או Final Cut לא ישתמשו בזיכרון של יותר מ -4 GB, לפחות כפי שראיתי. רק אל תריץ יותר מדי מכונות וירטואליות.  

הערה מהירה: אם ה- Mac שלך משתמש בגרפיקה משולבת, הזיכרון שלו משותף עם הזיכרון הראשי שלך עם kernel_task. לפיכך, יהיה עליכם לחסר את הסכום מכלל השימושים שלכם.

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

השבתתי באופן אישי זיכרון וירטואלי ב- Retina MacBook Pro שלי עם זיכרון 8 GB בלבד. הנה המתמטיקה, המערכת משתמשת בכ -2 GB זיכרון המונה גרפיקה משולבת. אז זה 6 ג'יגה בשבילי. אני עושה Xcode לעבודה, ובכך לא צורכת יותר מ -2 GB זיכרון. אז יש לי הרבה מה לחסוך.
Huygens
2013-02-24 20:09:07 UTC
view on stackexchange narkive permalink

סיכום מנהלים

אזור החלפה (הנקרא מחיצת החלפה, קובץ החלפה או קובץ עמוד) הוא רק מנגנון להגדלת הזיכרון הפיזי אליו ניתן למערכת הפעלה.

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

אם יש לך יותר מ- 4GB של זיכרון RAM, יש סיכוי טוב שהמערכת שלך לעולם לא תשתמש בהחלפה. אז אם ההחלפה מופעלת או לא, זה לא ישתנה הרבה.
למרות שזה תלוי בגורמים אחרים, ככל שהמכונה שלך תפעל זמן רב יותר כך הסבירות גבוהה יותר שהמערכת תחליף חלק קטן מהזיכרון שאינו בשימוש ל אירוע ההחלפה למרות שנשאר הרבה מקום כנראה. עם זאת, לעתים קרובות המערכת משתמשת בזיכרון ה- RAM "החינמי" עבור מאגרי קבצים ודברים אחרים, ועומס עבודה מסוים עשוי לגרום למאגר הקבצים שלך להשתמש בכל ה- RAM הזמין.

מידע רקע

בכל דרך מה היה קורה אם תשבית את ההחלפה והשימוש בזיכרון שלך לגמרי? ובכן, בפעם הבאה שיישום יבקש זיכרון נוסף (כמו עם malloc או realloc), הוא יקבל שגיאה! אם הוא מקודד כראוי, היישום יזהה זאת, אך טיפול בשגיאה כזו וסיום התוכנית בחן עשוי להיות עדיין אתגר! עם זאת, מפתחים רבים אינם בודקים הקצאת זיכרון מוצלחת ולעיתים קרובות האפליקציה קורסת ברגע ששימש זיכרון שאינו מוקצה. כך שיש סיכוי חזק שהיישום יקרוס, ובעצם יישומים רבים יקרסו מכיוון שיש לך יותר מיישום אחד שבדרך כלל פועל בו זמנית. אני מקווה שהגרעין עצמו צריך להיות חסין, אך מניסיוני זה לא תמיד היה המקרה.

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

יש לי 2 מכונות באופן אישי עם 8 ו -16 GB של זיכרון RAM. השימוש האישי שלי במכונה הזו לעולם לא צריך לקרב אותי להשתמש בכל ה- RAM הזה (היום! אולי בעוד כמה שנים שיכול להיות שונה). הסיבה היחידה שהייתי פוגעת במגבלות ה- RAM הפיזיות היא שתהליך נהיה נוכל וצורך את כל ה- RAM. אם אין החלפה מהווה הקלה, הגרעין יהרוג מייד את התהליך הנוכל ברגע שהוא יגיע למגבלת ה- RAM. אם יש לך החלפה, תקבל חוויה כואבת (אולי לא ב- SSD ...) כיוון שהמערכת שלך תתחלף ותתחלף ותתחלף לפעמים ותגיב לפעמים לגמרי עד שתקווה שהגרעין שלך יהרוג את האשם!

מייעץ

אתה לא צריך לפחד מאנשים שאומרים לך שמשהו נורא לא בסדר עלול לקרות אם תסיר את ההחלפה. אם תעשה זאת, שטח הכתובת הפיזית שלך יצטמצם, כמו אם היית עובר מ- 4 GB של זיכרון RAM ל- 2 GB. האם היית עושה דבר כזה? אז אתה לא צריך להסיר את ההחלפה. עם זאת תוכלו להחליט להגביל את זה, ו זה יהיה חכם.

אם מישהו חושב שעומס העבודה שלו עשוי להביא אותו לשימוש קרוב יותר או יותר מה- RAM הפיזי הזמין, או אם אחד כזה זקוק להרבה קלט / פלט (קריאה / כתיבה לדיסקים) ואז יש לשמור על החלפה.

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

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

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

הדוגמה שלי

יש לי מחשב ישן עם זיכרון RAM של 1 ג'יגה בייט, שם יש לי החלפה גדולה: 4 ג'יגה-בתים כדי שאוכל להריץ עליו את Firefox ויישומים אחרים. אני נוטה להשתמש בכמה שפחות יישומים (או כרטיסיות ב- Firefox) כדי לקבל חווית משתמש נכונה.

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

ואז יש לי את ה- Mac שלי עם זיכרון RAM של 16 ג'יגה בייט. אני לא המשתמש היחיד בו, ולא היה אכפת לנו לחכות כשאני מחליף משתמש. שם אכן יש לנו החלפה, קשה לי לתכנן את עומס העבודה של משתמשים אחרים במחשב זה. גם אם הייתי היחיד הייתי משתמש בהחלפה. לעתים קרובות אני מפעיל מספר מחשבים וירטואליים ומשתמש ביישומים הצורכים זיכרון, אך לא הכל בו זמנית, ולכן לא אכפת לי שמערכת ההפעלה תחליף באפליקציה שאינה בשימוש כדי שאוכל לקבל קלט / פלט דיסקים מהיר יותר או להפעיל עוד VM אחר. עד עכשיו, לא ראיתי שהמכונה הזו מחליפה!

Josh Penman
2012-06-10 15:56:44 UTC
view on stackexchange narkive permalink

הרגע השבתתי את קובץ ההחלפה ב- Macbook Air 2011 שלי (4GB RAM, 128GB SSD) מכיוון שנמאס לי מקובץ ההחלפה לאט לאט לאכול את כל שטח ה- HD שנותר ואז נאלץ להפעיל מחדש. בדרך זו, הרעיון הוא שפשוט אפעיל פחות תוכניות.

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

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

aramis
2015-03-03 02:20:27 UTC
view on stackexchange narkive permalink

הסיבה העיקרית להשבית את קובץ ההחלפה היא לא מהירות - זה שטח דיסק.

אם משתמש זה פועל באופן שגרתי בתוך 5 ג'יגה-בייט מכונן מלא, השבתת החלפה תפסיק את הנדנוד המתמיד נגמר המרחב; באופן שגרתי אני מסיים עם קובץ החלפה של 4 ג'יגה-בייט מגלישה שגרתית.

השיפור המהיר מדהים במכונות ישנות יותר; זה לא כל כך מרשים במכונות מודרניות המצוידות ב- SSD. (תחת OSX 10.0 ב- iMac, שימוש בזיכרון וירטואלי מחצית מהמהירות של פעולות רבות, כולל העתקת קבצים בין כוננים).

זה נשמע יותר כמו לתקן את הצופר כי הבלמים לא עובדים. אם הכונן מלא מדי, הורד ממנו חלק מהנתונים.
@Tetsujin הקובץ הגדול ביותר בכונן זה היה קובץ ההחלפה.
הנקודה שלי עדיין עומדת.פחות נתונים, כונן גדול יותר או יותר זיכרון RAM ולא היית צריך.
PhilipM
2020-04-20 11:55:33 UTC
view on stackexchange narkive permalink

יש האומרים: השבתת החלפה משפרת את הביצועים .

זה נכון. כל שימוש בזיכרון וירטואלי הוא האטה גדולה - אפילו SSD מהיר הוא איטי פי אלף מ- DRAM; דיסק איטי יותר פי מיליון. אתה רק צריך חלק קטן מגישות הזיכרון כדי לעבור להחלפה כדי לחולל הבדל גדול בזמן הריצה. אם למשל 0.1% מהגישות עוברות ל- SSD המהיר שלך, אשר תיאורטית מחצית את המהירות שלך. עם זאת, ריבוי משימות מסתיר זאת - בזמן ההמתנה למכשיר ההחלפה שלך, ניתן לשמור על המעבד עסוק בעשייה אחרת. אז כל עוד יש לך רמה סבירה של ריבוי משימות אז משהו מוכן לפעול כשיש לך תקלה בעמוד, אובדן הביצועים לא כל כך קיצוני. יותר מדי דברים עם דרישות זיכרון גבוהות הפועלות בבת אחת מובילות ל חבטות : פעילות ההחלפה שולטת בביצועים.

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



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...