Jak wykryć, czy isolcpus jest aktywowany i na którym cpus, gdy na przykład łączysz się po raz pierwszy na serwerze. Warunki:
nie spawnuje żadnego procesu, aby zobaczyć, gdzie będzie migrowany.
Sprawa użycie jest to, że isolcpus=1-7
na 6 rdzeni I7 zdaje się nie aktywować isolcpus w bagażniku, i chciałbym wiedzieć, jeśli jego możliwości z /proc/
, /sys
lub jakieś wewnętrzne jądro, które mogą być odczytywane w przestrzeni użytkownika, aby zapewnić wyraźny status aktywacji isolcpus i których procesorów dotyczy. Lub nawet przeczytaj aktywne ustawienie harmonogramu, który jest pierwszym, którego dotyczy isolcpus.
Weź pod uwagę, że czas działania jest tak duży, że dmesg
nie trzeba już wyświetlać dziennika rozruchu w celu wykrycia błędu podczas uruchamiania. Podstawowe odpowiedzi, takie jak „ spójrz na linię cmd jądra ” nie będą akceptowane :)
pidstat
i isolcpus
. Czy możesz rozwinąć nieco więcej?
isolcpus
jest, ale pidstat
mogę powiedzieć, na jakim procesorze działa proces, jeśli przekażesz -C process_name
flagę. Na przykład pidstat -C top
produkuje następujące. 10:56:52 AM PID %usr %system %guest %CPU CPU Command 10:56:52 AM 3457 0.00 0.00 0.00 0.00 6 top
isolcpus
jest parametrem jądra, który zmusza program planujący do samodzielnej migracji żadnego procesu, jeśli są one izolowane. Na przykład na serwerach o 8 procesorach, isolcpus=1-7
w linii poleceń jądra, zmusi cały spawnowany proces do rozwidlenia przez init i wszelkie polecenia w powłoce, aby działały tylko na CPU0. Aby uruchomić zadanie na izolowanym procesorze, musisz na przykład uruchomić je taskset
za pomocą . Jeśli chodzi o to, o co pytam, wydaje się, że twoja odpowiedź jest nie na temat. W każdym razie dziękuję za próbę udzielenia odpowiedzi
pidstat -C isolcpus
. pidstat jest zsysstat
paczki.