Come rilevare se isolcpus è attivato e su quale cpus, ad esempio quando ci si connette per la prima volta su un server. condizioni:
non genera alcun processo per vedere dove verrà migrato.
Il caso d'uso è che isolcpus=1-7
su un i7 a 6 core, sembra non attivare isolcpus all'avvio, e vorrei sapere se è possibile da /proc/
, /sys
o qualsiasi interno del kernel che può essere letto nello spazio utente, per fornire un chiaro stato di attivazione di isolcpus e quali CPU sono interessati. O anche leggere l'impostazione attiva dello scheduler che è il primo interessato da isolcpus.
Considera che il tempo di attività è così grande che dmesg
non viene più visualizzato il registro di avvio per rilevare eventuali errori all'avvio. La risposta di base come " guarda la riga cmd del kernel " non sarà accettata :)
pidstat
e isolcpus
. Puoi approfondire un po 'di più?
isolcpus
sia, ma pidstat
posso dirti su quale CPU è in esecuzione un processo se passi la -C process_name
bandiera. Ad esempio pidstat -C top
produce quanto segue. 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
è un parametro del kernel che forza lo scheduler a non migrare alcun processo da solo se sono isolati. Ad esempio su un server 8 cpu, isolcpus=1-7
nella riga di comando del kernel, forzerà l'esecuzione di tutti i processi generati dalla fork e di ogni tipo di comando nella shell solo su CPU0. Per eseguire un'attività su una CPU isolata, è necessario avviarla con taskset
ad esempio. Quindi per quanto riguarda ciò che sto chiedendo, sembra che la tua risposta sia fuori tema. Grazie comunque per aver cercato di rispondermi
pidstat -C isolcpus
. pidstat proviene dalsysstat
pacchetto.