תיקיית Prefetch (ווינדוז XP )

איך משהו עובד? למה זה ככה?
שלח תגובה
FIRE_WIRE פותח השרשור
סמל אישי של משתמש
חבר מביא חבר
חבר מביא חבר
תגובות: 3872
הצטרף: מאי 2005
מיקום: צפון
נתן תודות: 420 פעמים
קיבל תודות: 140 פעמים

שליחה #1 

שלום,
קראתי במספר מקומות לגבי Prefetch . ממה שהבנתי יש לי מספר מסקנות.
1- התיקייה מתנקה\מתאפסת לאחר שנאספו בה 128 פרטים.
2- בתיקייה יש פריטים מ3 ימים אחורה.
ועכשיו 2 שאלות.
1-שעושים דפרגמנטציה למחשב -האם יש פגיעה בתיקייה?
2-מה שלא הבנתי \לא עובד אצלי מתבסס על התאוריה שקראתי- שאני מפעיל ישום(כמו
פיירפוקס) פעם ראשונה,במקביל קובץ על ישום זה נכנס לתיקייהPrefetch -כך שבפעם
הבאה שאני מפעיל את אותו ישום הוא יעבוד\יעלה מהר יותר. אכן זה כך. אבל....לאחר
שאני עושה ריסטרט למחשב ומפעיל את אותו ישום הוא עולה\מתחיל לאט יותר מאשר לפני
הריסטרט ,אך שוב עולה מהר יותר שאני מפעיל אותו בפעם השנייה והלאה. האם הריסטרט
"מאפס"ערכים בתיקייה או באמת המצב כך לאחר ריסטרט?
אודה על בדיקת המסקנות והשאלות
And the meek shall inherit the earth
...

צפיד
חבר ותיק
חבר ותיק
תגובות: 2856
הצטרף: נובמבר 2005
מיקום: קריות
נתן תודות: 162 פעמים
קיבל תודות: 64 פעמים

שליחה #2 

בגדול אתה צודק ,מצאתי הסבר ממש טוב:

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



אם הבנתי אותך נכון אם אתה רוצה לקצר את תהליך ה BOOT אבל לא רוצה לאבד את המידע על תיקיות PREFTCH אז אפשר לעשות DEFRAG לתיקיה עצמה ע"י הפקודה:
defrag c: -b
מתוך ה CMD כמובן.

אני מבטיח לך שזה יקצר את תהליך ה BOOT - קח זמן של לפני ואחרי ותיווכח.

FIRE_WIRE פותח השרשור
סמל אישי של משתמש
חבר מביא חבר
חבר מביא חבר
תגובות: 3872
הצטרף: מאי 2005
מיקום: צפון
נתן תודות: 420 פעמים
קיבל תודות: 140 פעמים

שליחה #3 

תודה על ההסבר,אבל לא בקיצור הבוט מדובר.
בשאלה השניה שלי התכוונתי שלאחר ריסטרט למחשב שהווינדוז כבר עלה , כל ישום שאני מפעיל מהדסקטופ שוב לוקח מספר שניות (יותר מאשר לפני הריסטרט) בפעם הראשונה שאני מפעיל אותו. מהפעם השניה(כולל) והלאה הישום עולה בפחות זמן. אבל שוב- המצב נשמר כל עוד אני לא מבצע ריסטרט. למה זה?
*ברגיסטרי ערך EnablePrefetcher הוא על ברירת מחדל 3 וזה תקין.
And the meek shall inherit the earth
...

צפיד
חבר ותיק
חבר ותיק
תגובות: 2856
הצטרף: נובמבר 2005
מיקום: קריות
נתן תודות: 162 פעמים
קיבל תודות: 64 פעמים

שליחה #4 

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

אני לא יודע אם שינוי בריג'סטרי ישנה מהותית את זמן טעינת אפילקציה ספיציפית אבל יעזור בבוט
(הטווח לשינוי מ 5-15 ).
לפי מה שהבנתי את אומר שאחרי שטענת פעם אחת אפליקציה ,טעינות חוזרות של אותה אפיליקציה לא מתקצרות בזמן (אפילו מתארכות),נסה למחוק את כל תוכן התיקיה RESTART ואז תראה אם קיים שיפור כלשהו אם לא תנסה את המדריך הזה (בהקשר הFIREFOX):
http://www.wikihow.com/Speed-Up-Firefox ... -It-In-RAM
לא ניסיתי את ה PRELOADER אבל דיווחים אומרים שהוא יעיל.
בכל מקרה תריץ איזה MEMO TEST שאין לך איזה בעיה ב RAM .
אגב בויסטה זה עובד אחרת-אין PREFETCH יש משהו מתקדם יותר ויעיל יותר ...
אם זה ממש מציק לך נסה את הויסטה.

מקווה שהפעם קלעתי לנושא (Y)

FIRE_WIRE פותח השרשור
סמל אישי של משתמש
חבר מביא חבר
חבר מביא חבר
תגובות: 3872
הצטרף: מאי 2005
מיקום: צפון
נתן תודות: 420 פעמים
קיבל תודות: 140 פעמים

שליחה #5 

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

אגב מה התכוונת " תיקיית RESTART " ?
And the meek shall inherit the earth
...

Catskinner
סמל אישי של משתמש
חבר במועדון HT
חבר במועדון HT
תגובות: 16019
הצטרף: נובמבר 2006
מיקום: הוד השרון
נתן תודות: 123 פעמים
קיבל תודות: 940 פעמים

שליחה #6 

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

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

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

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

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

FIRE_WIRE פותח השרשור
סמל אישי של משתמש
חבר מביא חבר
חבר מביא חבר
תגובות: 3872
הצטרף: מאי 2005
מיקום: צפון
נתן תודות: 420 פעמים
קיבל תודות: 140 פעמים

שליחה #7 

תודה קלוד,
אכן נראה לי שעירבבתי בין caching לPREFETCH . אכן מערכת הקבצים שלי היא NTFS ואני מריץ מידי פעם CHKDSK /F .
אהבתי את הדוגמא של " אפקט המג'ימיקס " .יש לך כישרון בלתי נילאה להבאיר דברים בדרך פרקטית ביותר (Y)

בכדי לאפס את הPREFETCH-> ברגיסטרי ערך EnablePrefetcher על 0
And the meek shall inherit the earth
...

שלח תגובה

חזור אל “שאלות בנושאים טכניים”