ניהול זיכרון RAM תחת Mac OS

זְהִירוּת

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

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

הזיכרון הוירטואלי הזה שכולנו הכרנו במערכות הישנות שלנו (Mac OS 7 -> Mac OS 9.x) איפשר להגדיל את סך ה-RAM על ידי הגדלת גודל הזיכרון הוירטואלי בכונן הקשיח. המטרה העיקרית של זה הייתה להקצות ידנית יותר זיכרון RAM ליישומים תובעניים מבלי להוציא כסף על רכישת רצועות RAM (בזמנו מאוד יקרות...). עם זאת, הייתה לכך גם הייחודיות של הקרבת ביצועי המחשב שלך מכיוון שהמערכות הישנות שלנו ניהלו את הזיכרון הווירטואלי הזה בצורה ארכאית. למרבה המזל, ניתן היה לבטל את ה"זיכרון RAM השני" הזה כדי להשיג ביצועים מקסימליים, אך במקרה זה, המערכת הפכה להרבה יותר חמדנית מבחינת צריכת RAM. השבתת זיכרון וירטואלי הייתה חיונית ב-Mac OS 9 עבור מוזיקאים, מעצבים גרפיים או צלמי וידאו שחיפשו רק ביצועים מיטביים מהמכונה.

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

זיכרון וירטואלי זה, הנקרא גם swap, ממוקם בכונן הקשיח שלך. ברגע שאתה מפעיל יישום, הוא דורש זיכרון RAM כדי לפעול. עם זאת, זיכרון ה-RAM שלך אינו בלתי מוגבל וכאשר אין יותר זיכרון RAM זמין, המערכת מעתיקה חלק מהמידע הכלול ב-RAM אל הכונן הקשיח שלך תחת OS X. פעולה זו נועדה לפנות זיכרון ולאפשר למערכת להמשיך לפעול כהלכה. במקביל, המערכת קוראת לעתים קרובות מידע הכלול בדיסק כדי לאחסן אותו ב-RAM על מנת לייעל בקשות. אז יש "בלט" אמיתי בין הכונן הקשיח שלך למקלות ה-RAM שלך. אבל, בעוד מקלות ה-RAM שלך פועלים במהירות של 66, 100 או 133 מגה-הרץ, הכונן הקשיח שלך מסתובב רק ב-4200, 5400 או 7200 סל"ד, תלוי במכונה...

הַפגָנָה

פתח מסוף (אפליקציות/כלי עזר/טרמינל) והקלד את הפקודה"רֹאשׁ". לאחר מכן המסך מתמלא בשפע של מידע.
כל שורה מספקת הסברים ספציפיים לגבי הפעולות המתרחשות כעת במחשב שלך.
- שורה 1 נותנת את מספר הפעולות המתנהלות
- שורה 2 מספקת מידע על שימוש במעבד וזמינות...

אבל מה שמעניין אותנו כאן זה בעיקר שורות 5 ו-6:
- שורה 5 מסבירה כיצד מנוהל כרגע זיכרון ה-RAM של המחשב שלך. זיכרון ה-RAM שנמצא בשימוש מורכב מזיכרון קווי, פעיל ולא פעיל (זהו זיכרון חיץ ומאפשר במקרה של קריסת פעולה שחרור מיידי של זיכרון כדי למנוע את קריסת המחשב שלכם). לבסוף, נשאר זיכרון לא בשימוש.
- שורה 6 מציגה את ניהול הזיכרון הוירטואלי שלך. מה שחשוב כאן הם עמודים ודפים. Pageins תואמים מידע שזורם מהכונן הקשיח ל-RAM הפיזי. להיפך, מייצגים את העברת המידע מה-Ram לזיכרון ה-Swap. בשלב זה, הכונן הקשיח למעשה כותב מידע הכלול ב-RAM לכונן הקשיח.

לכן, ככל שתפעיל יותר יישומים, כך מצטמצם מאגר הזיכרון שאינו בשימוש. כדי לפנות זיכרון, אתה יכול להחליט לצאת מאפליקציות. אם תפעיל אפליקציה ואז תצא ממנה, תבחין שלמחשב שלך יש פחות זיכרון RAM זמין מבעבר. במציאות, המחשב שלך שומר חלק מהמידע ב-RAM כדי לייעל את ההשקה בפעם הבאה (היצורים הקטנים האלה אינטליגנטים, אה? ;-)). זו הסיבה שיישומים מופעלים הרבה יותר מהר בהתחלה השנייה. אבל, כאשר אין יותר זיכרון פנוי, המערכת מבצעת דפי דפים כדי לפנות זיכרון RAM ופעולה זו היא שהורסת את הביצועים של המחשב שלך!!! ואכן, pageins הם קריאה פשוטה של ​​הדיסק שלך בעוד ש-pageouts הם סוס עבודה אמיתי שבו הדיסק הקשיח שלך מעתיק עשרות מגה-בייט, מה שהופך אותו לא זמין במשך כל הזמן הזה!!!

צילום המסך הראשון הזה מראה שיש כרגע 35 פעולות מתנהלות במחשב שלי (שורה 1: תהליכים: 35 בסך הכל...). אנו רואים גם שמתוך 320 מגה-בייט של זיכרון RAM פיזי של המחשב שלי, 245 מגה-בייט תפוסים ו-74.9 מגה-בייט פנויים (שורה 5: תוספת פשוטה של ​​זיכרון משומש -245 מיליון זיכרון משומש וזיכרון זמין -74.9 מיליון פנוי -). כפי שאתה יכול לראות, המחשב ביצע pageins אך לא דפים כי עדיין יש זיכרון RAM פיזי זמין.

פתחתי 8 יישומים בנוסף ל-5 שכבר נפתחו בעבר. לפיכך אנו יכולים לראות את מספר הפעולות המתנהלות גדל ל-43. יתר על כן, נותרו רק 5.73 מגה-בייט פנויים, השאר משמשים את ההנהלה של 13 היישומים הפתוחים כמו גם את המערכת.

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

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

היתרון של מחיצת החלפה ייעודית

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

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

להלן תוצאות שהתקבלו עם G4/466 גרסה 2001 עם 768 MB של Ram, Mac OS 10.0.4 ו-2 כוננים קשיחים פנימיים ATA 66, אחד של 30 GB במצב מאסטר והשני של 20 GB במצב עבד.

היזהר, ההבדלים המתקבלים חייבים להיות קצת פחות ברורים עם Mac OS 10.1 אבל המניפולציה הזו עדיין מאפשרת לך לייעל את המחשב באופן משמעותי.

יצירת מחיצת ה-Swap הייעודית

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

קודם כל, איזה גודל עלי להקצות למחיצת Swap זו? שים לב שמחיצה זו פועלת במרווחים של 80 מגה-בייט אם יש לך מעט זיכרון RAM (128 - 192 מגה-בייט), יהיה זה מתאים ליצור מחיצה של 160 או אפילו 240 מגה-בייט הכל תלוי איך אתה משתמש במחשב. אם אתה מפעיל הרבה יישומים ויש לך מעט זיכרון RAM, מחיצת Swap גדולה תתקבל בברכה. להיפך, אם יש לך הרבה זיכרון RAM (+384 MB), מחיצה פשוטה של ​​80 MB תספיק. אבל, אל תשכח את ה-Mac OS

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

בהקשר זה, יש מדריך לחלוקת הדיסק שלך שתמצאici

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

מטעמי נוחות, השם "החלפה" למחיצה נבחר עבור ההסברים הבאים)

חגור את חגורת הבטיחות וחבש את הכפפות, יוצאים לדרך ;-): הפעולות יתקיימו אך ורק בטרמינל!

הקלד את הפקודה בו"df -k".

הקו שמעניין אותנו כאן הוא החמישי. אכן, הוא מכיל את המיקום המדויק של מחיצת ה-Swap שלך:/dev/disk0s11. שימו לב, הנתונים הללו כנראה שונים במחשב שלכם!!!

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

כיצד לשנות ל-Root User ב-OS X jQuery36102591945402069238_1663713439090?

אז הנה אתה, מתחבר כשורש. לאחר מכן הזן את הפקודה בטרמינל:

"pico /etc/fstab"

לאחר מכן תיגש לקובץ המערכת /etc/fstab אותו תשנה כעת. לאחר מכן הזן את הפקודה הבאה בתחילת שורה:

"/dev/disk0s11 /Volumes/swap hfs rw 1 2"

שימו לב, ההתחלה של פקודה זו מגיעה מהתוצאה שהתקבלה כשהקלדת את הפקודה df -k."/dev/disk0s11"לכן כנראה לא מה שהשגת... אז העתק בזהירות את התוצאה שהשגת במהלך פעולת df -k ולאחר מכן השלם עם סוף הפקודה (/Volumes/swap hfs rw 1 2).

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

כעת נשנה את הקובץ"/etc/rc". כדי לעשות זאת, עדיין במסוף, הקלד את הפקודה:

"pico /etc/rc"

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

לאחר מכן הקלד א"#"ממש בתחילת השורה"swapdir=/private/var/vm". הכנסת תווים"#"בתחילת שורה יש השפעה של ביטול הקריאה של שורה זו על ידי המערכת. לכן ביטלת זה עתה את המיקום הישן של הזיכרון הוירטואלי שלך (שהיה ממוקם בתיקיית var invisible anywhere בדיסק הקשיח). עכשיו הגיע הזמן לתת מיקום חדש לזיכרון הוירטואלי שלך. לשם כך, עבור לסוף שורה זו באמצעות החץ ימינה במקלדת והקש על מקש Enter. לאחר מכן אתה חוזר לקו. שם, הזן את השורה הבאה:

"swapdir=/Volumes/swap/vm"

ואז הקלד enter שוב כדי לאמת את השורה שלך. אתה אמור לקבל את זה בסוף הפעולה הזו:

אם זה מה שאתה רואה על המסך, לחץ על "control-x" כדי לשמור את השינויים והקלד "y" כדי לאמת (כמו קודם).

כל הכבוד, הרגע סיימת!!! כדי להפעיל את מחיצת ה-Swap, הפעל מחדש את המחשב.

בודק את העבודה שלך

יֵשׁ2 שיטותכדי לבדוק את העבודה שלך:

- עבור אל מחיצת ההחלפה. פתח את התיקיה"vm. צריך להיות שם קובץ בשם "swapfile0". אם זה אכן כך, כל הכבוד. אם הקובץ הזה נקרא "swapfile1", יש שגיאה...

- עבור חובבי טרמינלים, הזן את הפקודה:

"cd /volumes/swap/vm"ואז הקלד"ls"

[localhost:~] maclover% cd /volumes/swap/vm
[localhost:/volumes/swap/vm] maclover% ls

אתה אמור לקבל את זה בתגובה:

swapfile0
[localhost:/volumes/swap/vm] maclover%

אם יש לך"swapfile1"במקום זאת יש שגיאה...

אם יש שגיאה, היא כנראה נובעת מהייעוד של מחיצת ההחלפה שלך במהלך השלב/etc/fstab"(שגיאת הקלדה בייעוד המחיצה...). חפש בסבלנות את השגיאה, זה אמור לעבוד ;-).

הפוך את מחיצת ה-Swap לבלתי נראית

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

כלי מפתח אלה נחוצים מכיוון שהם מספקים את הפונקציותSetFileetGetFileInfo. הפקודה SetFile מאפשרת לך לשנות פרמטרים מסוימים של קובץ. הנה הרשימה:

A = קובץ כינוי
V = בלתי נראה[
B = חבילה (עטיפה)
S = מערכת (השם נעול)
T = נייח (כלומר תבנית)
C = סמל מותאם אישית]
L = נעול
אני = אתחול[
N = אין משאב INIT
M = משותף (ניתן להפעיל מספר פעמים)
E = הרחבה מוסתרת]
D = שולחן עבודה[

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

בַּקָשָׁה

פתח מסוף והזן את הפקודה הבאה:

sudo /Developer/Tools/SetFile -a V /Volumes/Swap

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

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

אם אי פעם תרגיש צורך להפוך אותו לגלוי שוב, פשוט הקלד את הפקודה SetFile עם אתוך דקה:

sudo /Developer/Tools/SetFile -av /Volumes/Swap

כדי לבדוק אם השינויים שלך נלקחו בחשבון, הקלד את הפקודה הבאה בטרמינל:

/Developer/Tools/GetFileInfo -a /Volumes/Swap(או אחר בהתאם לשם המחיצה שלך)

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

לסיום

OOOOOOOOOOOOOF, זהו להיום ;-)

Related Posts