grupo de processos de ionização?

2

Existe uma maneira fácil de alterar a prioridade de E / S de um grupo inteiro de processos da mesma maneira que o renice -g ? Parece que apenas alterar a prioridade de E / S de um único processo é suportado por ionice . Se isso não puder ser feito, alguém pode me indicar as chamadas relevantes da API (não estou familiarizado com a API POSIX) para que eu possa escrever um utilitário de linha de comando rápido para implementar essa funcionalidade sozinho?

    
por dsimcha 11.05.2011 / 01:01

2 respostas

3

Você pode criar um script chamado gionice, assim:

#!/bin/sh
ps -s $1 -o pid | xargs ionice -c 2 -n 0 -p 

Em seguida, você pode chamá-lo assim, para o ID do grupo de processos 3266, por exemplo:

./gionice 3266

"ps -s PID -o pid" imprime identificadores linha por linha de processos cujo líder de grupo é PID. Em seguida, para cada linha, xargs anexa essa linha após "ionice -c 2 -n 0 -p" e chama o comando resultante.

Espero que ajude.

    
por 11.05.2011 / 03:36
1

Você viu o cgroups e o módulo blkio?

link

Você pode usá-lo para limitar IO com muito mais controle do que apenas ionização. Você também pode usar o daemon cgrulesengd para adicionar automaticamente novos processos à sua infra-estrutura de grupo existente.

    
por 11.05.2011 / 04:52