Como detectar se o isolcpus está ativado e em qual cpus, quando, por exemplo, você se conecta pela primeira vez em um servidor. Condições:
sem gerar nenhum processo para ver para onde será migrado.
O caso de uso é que, isolcpus=1-7
em um i7 de 6 núcleos, parece não ativar o isolcpus na inicialização, e gostaria de saber se é possível /proc/
, /sys
ou qualquer parte interna do kernel que possa ser lida no espaço do usuário, para fornecer um status claro de ativação do isolcpus e qual CPU está em causa. Ou mesmo leia a configuração ativa do agendador, que é a primeira a ser usada pelo isolcpus.
Considere que o tempo de atividade é tão grande que dmesg
não é mais necessário exibir o log de inicialização para detectar qualquer erro na inicialização. Resposta básica como " veja a linha cmd do kernel " não será aceita :)
pidstat
e isolcpus
. Você pode elaborar um pouco mais?
isolcpus
é, mas pidstat
posso lhe dizer em que CPU um processo está sendo executado se você passar a -C process_name
bandeira. Por exemplo, pidstat -C top
produz o seguinte. 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
é um parâmetro do kernel que força o agendador a não migrar nenhum processo sozinho, se eles estiverem isolados. Por exemplo, em servidores de 8 cpu, isolcpus=1-7
na linha de comando do kernel, forçará todo o processo gerado bifurcado pelo init e qualquer tipo de comando no shell para executar apenas na CPU0. Para executar uma tarefa em uma CPU isolada, é necessário iniciá-la com, taskset
por exemplo. Então, com relação ao que estou perguntando, parece que sua resposta está fora de tópico. Obrigado de qualquer maneira para tentar me responder
pidstat -C isolcpus
. O pidstat é dosysstat
pacote.