אני סובל הרבה מבעייה של cisco vpn אשר לפעמים תוקע לי את המערכת, ופורסם פוסט בנושא של נתנאל שיין.
נתנאל מציג האק שאני לא מוכן להתמודד איתו שהוא לכבות את המעבדים במכונה בזמן ריצת ה VPN. אז חיפשתי דרך אחרת ומצאתי: הפקודה taskset.
הפקודה מאפשרת להגיד לתהליך ספציפי להיות קשור למעבד ספציפי בלבד (או מספר מעבדים ספציפיים) על ידי שיחה עם הcpu scheduler של הקרנל ובכך הבקשות השונות לא יתבזרו (אם בכלל) בכמה מעבדים שונים בו זמנית, דבר שאני מקווה כי יפתור את הבעיה בה נתקלנו (עדיין לא ניסיתי בעצמי).
לפי התעוד עצמו, העבודה היא מאוד פשוטה. מריצים תהליך מסויים ומספקים את הpid שלו לתוכנה בייחד עם 2 שיטות להגדרת מעבדים:
- מסיכה של מעבדים (קראו על כך בתעוד להסבר נרחב יותר)
- אינדקסים של מעבדים
כך שאם אני מעוניין נגיד להריץ פקודה עם מעבד אחד בלבד:
$ taskset -c 0 ls
וכך אני מריץ את התוכנה ls על מעבד מספר 0 בלבד.