על מעבדים: socket-ים, core-ים ו-thread-ים
אופיר מנור מאורקל כתב פוסט יפה ומעניין בבלוג המומחים של אורקל על מעבדים וההבדלים בין sockets (מעבדים פיזים), cores (ליבות בתוך מעבד פיזי) ו-threads (מספר תהליכים שיכולים לרוץ בו זמנית בכל ליבה). מבחינתי זו הזדמנות טובה לרכז כמה פקודות שימושיות בנושא.
אני אשמח לקבל תיקונים הערות ותוספות בנושא.
בשליפה מ-Oracle:
ישנה טבלה ששייכת ל-AWR ואוספת ברמה זו או אחרת את מספר המעבדים, ליבות ו-thread-ים שיש למכונה. בגרסה 10 צריך לשלוף את זה ידנית אבל בגרסה 11 זה כבר יוצא בדוח של ה-AWR.
הטבלה היא sys.WRI$_DBU_CPU_USAGE והשליפה ממנה נראית כך:
SQL> select * from sys.WRI$_DBU_CPU_USAGE 2 / DBID VERSION TIMESTAMP CPU_COUNT CPU_CORE_COUNT CPU_SOCKET_COUNT ---------- ----------------- ------------------- ---------- -------------- ---------------- 2236515206 10.2.0.1.0 27/02/2006 12:46:23 4 2236515206 10.2.0.4.0 15/12/2009 02:17:44 8 4
Solaris 10:
ניתן לקבל אינפורמציה על מצב המעבדים בשרת על ידי שימוש בפקודה psrinfo.
כדי לדעת מהו מספר המעבדים הפיזיים:
psrinfo -p
כדי לקבל מידע על המעבדים הוירטואליים (כלומר ה-core-ים כפול thread-ים):
psrinfo -vp
כדי לקבל סיכום של מספר המעבדים הפיזיים לעומת וירטואליים:
psrinfo -vp | grep vir | awk '{sum += $5; count += 1} END {print count, sum}'
Linux:
כדי לקבל מידע כללי על המעבדים ניתן לעשות:
less /proc/cpuinfo
כדי לראות את מספר המעבדים הפיזיים:
grep "physical id" /proc/cpuinfo | sort | uniq | wc -l
או
cat /proc/cpuinfo | grep "processor"| sort -u |wc -l
כדי לראות כמה core-ים יש לכל מעבד:
grep "cores" /proc/cpuinfo
כדי לראות כמה מעבדים וירטואליים יש:
grep ^processor /proc/cpuinfo | wc -l
הי זוהר,
תודה על ההפניה והמחמאות 🙂 לא הכרתי את הבלוג שלך – עכשיו הוא כבר בגוגל רידר שלי…
הוספתי עדכון קטן בסוף הפוסט – מתברר שאפשר לראות את הנתונים הללו גם בדו"ח AWR. גיליתי את זה אתמול במקרה.
אופיר
היי אופיר,
קראתי את מה שכתבת על ה-AWR ועדכנתי את הפוסט עם עדכון משלי בעקבות זה. 😀
תודה רבה על המחמאות – אני שמח שנהנת לקרוא.. 🙂
זהר