אנדרואיד

פקודה Dmesg בלינוקס

7 Using dmesg to read the kernel ring buffer

7 Using dmesg to read the kernel ring buffer

תוכן עניינים:

Anonim

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

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

כלי שירות שורת הפקודה dmesg משמש להדפסה ולבקרה על חיץ טבעת הגרעינים בלינוקס ובמערכות הפעלה אחרות דמויות Unix. זה שימושי לבחינת הודעות אתחול גרעינים ולבעיות באגים הקשורים לחומרה.

במדריך זה, נסקור את היסודות של הפקודה dmesg .

באמצעות פיקוד dmesg

התחביר לפקודה dmesg הוא כדלקמן:

dmesg

כאשר מופעל ללא אפשרויות dmesg כותב את כל ההודעות ממאגר טבעת הגרעין לפלט הסטנדרטי:

dmesg

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

dmesg: read kernel buffer failed: Operation not permitted

פרמטר הגרעין kernel.dmesg_restrict מציין אם משתמשים לא מוגדרים יכולים להשתמש ב- dmesg כדי להציג הודעות ממאגר היומנים של הגרעין. כדי להסיר את המגבלות, הגדר אותה לאפס:

sudo sysctl -w kernel.dmesg_restrict=0

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

dmesg --color=always | less

--color=always משמש לשמירה על הפלט הצבעוני.

dmesg | grep -i usb

dmesg קורא את ההודעות שנוצרו /proc/kmsg מהקובץ הווירטואלי /proc/kmsg . קובץ זה מספק ממשק למאגר טבעת הגרעין וניתן לפתוח אותו רק על ידי תהליך אחד. אם תהליך syslog פועל במערכת שלך ואתה מנסה לקרוא את הקובץ עם cat , או less , הפקודה תיתקע.

הדמון של syslog משליך הודעות גרעין ל- /var/log/dmesg , כך שתוכל גם להשתמש בקובץ היומן הזה:

cat /var/log/dmesg

dmesg פלט dmesg

הפקודה dmesg מספקת מספר אפשרויות העוזרות לך לעצב ולסנן את הפלט.

אחת האפשרויות המשומשות ביותר של dmesg היא -H (- --human ), המאפשרת את הפלט הקריא על ידי האדם. אפשרות זו מצנרת את פלט הפקודה לביפר:

dmesg -H

כדי להדפיס חותמות זמן קריאות אנושיות השתמש באפשרות -T (- --ctime ):

dmesg -T

IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready

ניתן להגדיר את פורמט חותמות הזמן גם באמצעות --time-format אפשרות שיכולה להיות ctime, reltime, delta, notime או iso. לדוגמה כדי להשתמש בתבנית הדלתא שתקלידו:

dmesg --time-format=delta

אתה יכול גם לשלב שתי אפשרויות או יותר:

dmesg -H -T

לצפייה בפלט של פקודת dmesg בזמן אמת השתמש באפשרות -w (- --follow ):

dmesg --follow

סינון תפוקת dmesg

אתה יכול להגביל את תפוקת dmesg למתקנים ורמות נתונות.

המתקן מייצג את התהליך שיצר את ההודעה. dmesg תומך במתקני היומן הבאים:

  • kern - הודעות גרעין user - הודעות ברמת המשתמש mail - מערכת דואר אלקטרוני - מערכת דמונים מערכתית - הודעות אבטחה / הרשאה syslog - הודעות פנימיות syslogd lpr - מדפסת קו תת מערכת news - תת רשת חדשות מערכת

ה- -f (- --facility ) מאפשרת לך להגביל את הפלט למתקנים ספציפיים. האפשרות מקבלת מתקן אחד או יותר מופרדים בפסיקים.

לדוגמה, כדי להציג רק את הודעות הגרעין והדמונים של המערכת בהן היית משתמש:

dmesg -f kern, daemon

כל הודעת יומן קשורה לרמת יומן שמראה את חשיבות ההודעה. dmesg תומך ברמות היומן הבאות:

  • emerg - המערכת אינה ניתנת לשימוש alert - יש לנקוט בפעולה מיידית - שגיאה בתנאים קריטיים - תנאי שגיאה warn - התראה על תנאי אזהרה - מידע רגיל אך משמעותי - debug במידע - הודעות באגים ברמה.

The -l (- --level ) אפשרות מגבילה את הפלט לרמות מוגדרות. האפשרות מקבלת רמה אחת או יותר מופרדות בפסיקים.

הפקודה הבאה מציגה רק את השגיאה וההודעות הקריטיות:

dmesg -l err, crit

ניקוי מאגר הטבעת

האפשרות -C (- --clear ) מאפשרת לך לנקות את מאגר הצלצולים:

sudo dmesg -C

רק שורש או משתמשים עם הרשאות sudo יכולים לנקות את המאגר.

כדי להדפיס את תוכן המאגר לפני ניקוי השתמש באפשרות -c ( -c --read-clear ):

sudo dmesg -c

dmesg > dmesg_messages

סיכום

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

הקלד man dmesg בטרמינל שלך למידע על כל אפשרויות ה- dmesg הזמינות.

מסוף גרעיני dmesg