comando ioo

Propósito

Gerencia parâmetros ajustáveis de E/S.

Sintaxe

ioo [ -p | -r [ -K ]] [ -y ]{ -o Tunable [ =NewValue ] } 
ioo [ -p | -r [ -K ]] [ -y ] { -d Tunable } 
ioo [ -p | -r [-K ]] [ -y ] -D
ioo [ -p | -r | -K ] [  -F  ] -a
ioo -h [ Tunable ]
ioo [ -F ] [ -K ] -L [ Tunable ]
ioo [ -F ] [ -K ] -x [ Tunable ]
Observação: são permitidos vários sinalizadores, como -o, -d, -x e -L .

Descrição

Observação: o comando ioo é executado somente pelo usuário root.

O comando " ioo configura os parâmetros de ajuste de entrada/saída (E/S). Esse comando define ou exibe os valores atuais ou da próxima inicialização para todos os parâmetros de ajuste de E/S. Esse comando também pode tornar as mudanças permanentes ou adiá-las até a próxima reinicialização. Um sinalizador associado determina se o comando define ou exibe um parâmetro. O sinalizador ' -o pode exibir o valor de um parâmetro ou definir um novo valor para um parâmetro.

Se um processo ler sequencialmente de um arquivo, os valores especificados pelo parâmetro minpgahead determinarão o número de páginas a serem lidas antecipadamente quando a condição for detectada pela primeira vez. O valor especificado pelo parâmetro ' maxpgahead define o número máximo de páginas que são lidas antecipadamente, independentemente do número de leituras sequenciais anteriores.

O sistema operacional permite ajustar o número de sistemas de arquivos ' bufstructs (numfsbuf) e a quantidade de dados que é processada pelo algoritmo de write behind (numclust).

Observação: as variáveis ajustáveis que se aplicam a todo o sistema não podem ser modificadas em uma partição de carga de trabalho.
O efeito da alteração dos parâmetros ajustáveis
O uso indevido do comando ioo pode causar degradação do desempenho ou falha no sistema operacional. Antes de experimentar o comando ioo , consulte Visão geral do desempenho do Virtual Memory Manager.

Para obter mais informações sobre a modificação de qualquer parâmetro ajustável e sua finalidade, consulte as características do parâmetro ajustável na seção Parâmetros ajustáveis.

Certifique-se de que as seções Diagnóstico e Ajuste do parâmetro ajustável se apliquem à sua situação. Alterar o valor do parâmetro ajustável pode melhorar o desempenho de seu sistema.

Se as seções Diagnóstico e Ajuste contiverem apenas N/A, não altere o parâmetro ajustável, a menos que seja orientado pelo AIX desenvolvimento.

Sinalizações

Tabela 1. sinalizadores
Item Descrição
-h [ Sintonizável ] Exibe as informações de ajuda sobre o parâmetro ajustável especificado. Se o parâmetro tunable não for especificado, o sinalizador -h exibirá a instrução de uso do comando ioo .
-a Exibe o valor atual, o valor de reinicialização (quando usado com o sinalizador -r ), valores de atualização ao vivo (quando usado com o sinalizador -K ) ou valor permanente (quando usado com o sinalizador -p ) para todos os parâmetros ajustáveis, um por linha em pares tunable = value. Para a opção permanente, um valor é exibido para um parâmetro ajustável somente se seus valores de reinicialização e atual forem iguais. Caso contrário, NONE é exibido como o valor.
-d Ajustável Redefine os parâmetros ajustáveis especificados para seu valor padrão. Se o parâmetro ajustável que deve ser alterado por não estar definido com seu valor padrão atender a um ou mais dos seguintes critérios, uma mensagem de aviso será exibida e nenhuma alteração será feita no parâmetro ajustável:
  • O parâmetro ajustável é do tipo Bosboot ou Reboot.
  • O parâmetro tunable é do tipo Incremental e é alterado de seu valor padrão, e o sinalizador -r não é usado em combinação.
  • O parâmetro ajustável é do tipo Reboot e é compatível com a operação Live Update.

Para obter mais informações sobre os diferentes tipos de parâmetros ajustáveis, consulte Categorias de parâmetros ajustáveis.

-D Redefine todos os parâmetros ajustáveis para o valor padrão. Se o parâmetro ajustável que deve ser alterado por não estar definido com seu valor padrão atender a um ou mais dos seguintes conjuntos de critérios, uma mensagem de aviso será exibida e nenhuma alteração será feita no parâmetro ajustável:
  • O parâmetro ajustável é do tipo Bosboot ou Reboot.
  • O parâmetro tunable é do tipo Incremental e é alterado de seu valor padrão, e o sinalizador -r não é usado em combinação.
  • O parâmetro ajustável é do tipo Reboot e é compatível com a operação Live Update.

Para obter mais informações sobre os diferentes tipos de parâmetros ajustáveis, consulte Categorias de parâmetros ajustáveis.

-F Força a exibição de parâmetros sintonizáveis restritos quando você especifica o parâmetro -a, -L, ou -x na linha de comando. Se você não especificar o sinalizador -F os sintonizáveis restritos não serão incluídos, a menos que sejam nomeados em associação com um sinalizador de exibição, como -o, -a, -x, ou -L .
-K Configura o valor do parâmetro ajustável em arquivos /etc/tunables/nextboot e /etc/tunables/nextliveupdate . O sinalizador -K é usado somente com o sinalizador -r .

Quando você especifica o sinalizador -K com os sinalizadores -r e -d ou com os sinalizadores -r e -D , o valor do parâmetro ajustável é definido como o valor padrão nos arquivos /etc/tunables/nextboot e /etc/tunables/nextliveupdate a serem usados durante as próximas operações de inicialização ou Live Update.

Ao especificar a sinalização -K com a bandeira -L ou -x , o comando ioo exibe os valores Live Update.

-L [ Sintonizável ] Lista as características de um ou de todos os parâmetros ajustáveis, um por linha, usando o seguinte formato:

NAME                      CUR    DEF    BOOT   MIN    MAX    UNIT           TYPE 
     DEPENDENCIES 
------------------------------------------------------------------------------------
minpgahead                2      2      2      0      4K     4KB pages         D 
     maxpgahead 
------------------------------------------------------------------------------------
maxpgahead                8      8      8      0      4K     4KB pages         D 
     minpgahead 
------------------------------------------------------------------------------------ 
pd_npages                 64K    64K    64K    1      512K   4KB pages         D 
------------------------------------------------------------------------------------ 
maxrandwrt                0      0      0      0      512K   4KB pages         D 
------------------------------------------------------------------------------------ 
numclust                  1      1      1      0             16KB/cluster      D 
------------------------------------------------------------------------------------ 
numfsbufs                 196    196    196                                    M 
-------------------------------------------------------------------------------- 
recoveryMode              1      1      1      0      1      N/A               D 
-------------------------------------------------------------------------------- 
... 
where: 
    CUR = current value 
    DEF = default value 
    BOOT = reboot value 
    MIN = minimal value 
    MAX = maximum value 
    UNIT = tunable unit of measure 
    TYPE = parameter type: D (for Dynamic), S (for Static), R (for Reboot),
               B (for Bosboot), M (for Mount), I (for Incremental),
               C (for Connect), and d (for Deprecated) 
    DEPENDENCIES = list of dependent tunable parameters, one per line
Se você especificar a sinalização -K com a sinalização -L , os valores Live Update também serão exibidos.
-o Sintonizável [=NewValue ] Exibe ou configura o valor de um parâmetro ajustável a um novo valor. O arquivo /etc/tunables/usermodified é atualizado com o novo valor do parâmetro ajustável quando você usa o sinalizador -o para alterar o valor de um parâmetro ajustável dinâmico. Se um parâmetro ajustável que você deseja alterar atender a um ou mais dos seguintes conjuntos de critérios, uma mensagem de aviso será exibida e nenhuma alteração será feita no parâmetro ajustável:
  • O parâmetro ajustável é do tipo Bosboot ou Reboot.
  • O parâmetro ajustável é do tipo Incremental e seu valor atual é maior que o valor especificado, e o sinalizador -r não é usado em combinação.
  • O parâmetro ajustável é do tipo Reboot, e o parâmetro ajustável é compatível com a operação Live Update.

Para obter mais informações sobre os diferentes tipos de parâmetros ajustáveis, consulte Categorias de parâmetros ajustáveis.

Quando você especifica o sinalizador -r sem um NewValue, o valor da próxima inicialização para o parâmetro ajustável é exibido. Quando o sinalizador -K é usado em combinação com o sinalizador -o sem um NewValue, o próximo valor de atualização ao vivo para o parâmetro ajustável é exibido. Quando o sinalizador -p é usado com o sinalizador -o sem um NewValue, um valor é exibido somente se o valor atual e o próximo valor de inicialização do parâmetro ajustável forem os mesmos. Caso contrário, NONE é exibido como o valor.

-p Especifica que as alterações se aplicam tanto ao valor atual quanto ao valor de reinicialização quando você especifica com o sinalizador -o, -d ou -D . O parâmetro ajustável permite que você atualize o arquivo /etc/tunables/nextboot junto com o valor atual. Essas combinações não podem ser usadas em Reboot e Bosboot tipo de parâmetros ajustáveis. O valor atual do parâmetro sintonizável do tipo Reboot e Bosboot não pode ser alterado.

Quando você especifica o sinalizador -a ou -o sem especificar um novo valor, os valores são exibidos somente se o valor atual e o próximo valor de inicialização de um parâmetro ajustável forem os mesmos. Caso contrário, NONE é exibido como um valor ajustável.

-r Faz alterações que se aplicam aos valores do parâmetro reboot quando usado com o sinalizador -o, -d ou -D . O parâmetro ajustável permite que você atualize o arquivo /etc/tunables/nextboot . Se qualquer parâmetro ajustável do tipo Bosboot for alterado, o usuário será solicitado a executar o comando bosboot comando.

Quando o sinalizador -r é usado com o sinalizador -a ou -o sem especificar um novo valor, os valores da próxima inicialização para os parâmetros ajustáveis são exibidos em vez dos valores atuais. Quando usado com o sinalizador -K , as alterações se aplicam tanto ao arquivo /etc/tunables/nextboot quanto ao arquivo /etc/tunables/nextliveupdate .

-x [Ajustável] Lista as características de um ou de todos os parâmetros ajustáveis, um por linha, usando o seguinte formato de planilha:
tunable,current,default,reboot,min,max,unit,type,{dtunable} 


where: 
    current = current value 
    default = default value 
    reboot = reboot value
    min = minimal value 
    max = maximum value 
    unit = tunable unit of measure 
    type = parameter type: D (for Dynamic), S (for Static), R (for Reboot),
               B (for Bosboot), M (for Mount), I (for Incremental),
               C (for Connect), and d (for Deprecated) 
    dtunable = space separated list of dependent tunable parameters
Se você especificar a sinalização -K com a sinalização -x , os valores Live Update também serão exibidos.
-y Suprime o prompt de confirmação antes que o comando ' bosboot seja executado.

Se você modificar um parâmetro ajustável restrito usando o sinalizador -o, -d ou -D , o resultado será uma mensagem de aviso para o usuário informando que um parâmetro ajustável do tipo de uso restrito foi modificado. Se você também especificar o sinalizador -r ou -p , será solicitada a confirmação da alteração do parâmetro ajustável restrito. Além disso, na reinicialização do sistema, a presença de parâmetros ajustáveis restritos, que estão no arquivo /etc/tunables/nextboot , é modificada para um valor diferente do valor padrão, usando uma linha de comando que especifica o sinalizador -r ou -p . A modificação de um parâmetro ajustável restrito resulta em uma entrada de registro de erros que identifica a lista dos parâmetros ajustáveis modificados.

Ao modificar um parâmetro ajustável, você pode especificar um valor de parâmetro ajustável usando as seguintes abreviações para indicar seus valores correspondentes:
Tabela 2. Abreviações para valores de parâmetros ajustáveis
Abreviação Poder de dois
K 210
M 220
G 230
T 240
P 250
E 260
Assim, um valor de parâmetro ajustável de 1024 pode ser especificado como 1 K.

Uma alteração com o sinalizador -o, -d ou -D em um parâmetro ajustável do tipo Mount exibe uma mensagem de aviso para o usuário informando que a alteração só é válida para montagens futuras.

Uma alteração com o sinalizador -o, -d, ou -D , em um parâmetro ajustável do tipo Connect, reinicia o comando inetd e exibe uma mensagem de aviso para o usuário informando que a alteração só é válida para futuras conexões de soquete.

Uma tentativa de alterar, com o sinalizador -o, -d ou -D , um parâmetro ajustável do tipo Bosboot ou Reboot sem o sinalizador -r exibe uma mensagem de erro.

Uma tentativa de alterar com o sinalizador -o, -d ou -D , mas sem o sinalizador -r , o valor atual de um parâmetro ajustável do tipo Incremental com um novo valor menor que o valor atual, exibe uma mensagem de erro.

Modo de Compatibilidade

Quando você executa o parâmetro ajustável no modo de compatibilidade pre-5.2, que é controlado pelo atributo sys0 chamado pre520tune, os valores de reinicialização dos parâmetros ajustáveis, exceto Bosboot, não são significativos. No modo de compatibilidade pre-5.2, eles não são aplicados no momento da inicialização.

No modo de compatibilidade pre-5.2, a definição dos valores de reinicialização para os parâmetros de ajuste continua sendo obtida pela incorporação de chamadas a comandos de ajuste em scripts que são chamados durante a sequência de inicialização. Portanto, os parâmetros do tipo Reboot podem ser definidos sem o sinalizador ' -r para que os scripts existentes continuem funcionando.

O modo de compatibilidade pre-5.2 é ativado automaticamente quando uma máquina é migrada para o AIX 5.2. Para instalações completas, ele é DESLIGADO e os valores de reinicialização dos parâmetros ajustáveis são definidos aplicando-se o conteúdo do arquivo /etc/tunables/nextboot durante a sequência de reinicialização. Somente nesse modo os sinalizadores ' -r e ' -p são totalmente funcionais. Para obter mais informações, consulte Ajuste do kernel no Guia e referência de ferramentas de desempenho.

Parâmetros ajustáveis

Os parâmetros ajustáveis que são manipulados pelos comandos de ajuste, como no, nfso, vmo, ioo, raso, e schedo os comandos são classificados nas seguintes categorias de parâmetros ajustáveis:
Tabela 3. Categorias de parâmetros ajustáveis
Item Descrição
Dynamic Se o parâmetro ajustável puder ser alterado a qualquer momento.
Static Se o parâmetro ajustável nunca puder ser alterado.
Reboot Se o parâmetro ajustável puder ser alterado somente durante a reinicialização.
Bosboot Se o parâmetro ajustável puder ser alterado somente com o uso do comando bosboot e a reinicialização da máquina.
Mount Se as alterações no parâmetro ajustável forem efetivas apenas para futuros sistemas de arquivos ou montagens de diretórios.
Incremental Se o parâmetro ajustável puder ser aumentado de forma incremental, exceto no momento da inicialização.
Connect Se as alterações no parâmetro ajustável forem efetivas apenas para futuras conexões de soquete.
Deprecated Se as alterações no parâmetro ajustável não forem mais compatíveis com a versão atual do AIX.
Para parâmetros ajustáveis do tipo Bosboot, sempre que uma alteração é realizada, os comandos de ajuste perguntam automaticamente ao usuário se ele deseja executar o comando bosboot comando. Para parâmetros ajustáveis do tipo Connect, os comandos de ajuste reiniciam automaticamente o inetd daemon.
Observação: o conjunto atual de parâmetros gerenciados pelo comando ioo inclui apenas os tipos de parâmetros sintonizáveis Static, Dynamic, Mount e Incremental .
Para obter os valores padrão e o intervalo de valores dos parâmetros ajustáveis, digite o seguinte comando:
ioo -h
A tabela a seguir lista os parâmetros ajustáveis juntamente com a descrição:
Tabela 4. Parâmetros ajustáveis
Item Descrição
aio_active
Propósito
Indica se a extensão do kernel AIO (Asynchronous I/O) é usada e fixada.
Ajuste
Um valor de ajuste de 1 indica que a extensão do kernel AIO é usada e fixada.
aio_maxreqs
Propósito
Especifica o número máximo de solicitações de E/S assíncronas que podem ser pendentes de uma só vez.
Ajuste
O número especificado inclui solicitações de E/S que estão em andamento, bem como aqueles pedidos que estão aguardando em filas para serem iniciados. O número máximo de solicitações de E/S assíncronas não pode ser menor que o valor do campo AIO_MAX , conforme definido no arquivo /usr/include/sys/limits.h , mas pode ser maior. Para um sistema com alto volume de E/S assíncrona, é adequado ter um número máximo de solicitações de E/S assíncrona maior que o valor do campo AIO_MAX .
aio_maxservers
Propósito
Especifica o número máximo de servidores AIO (processos do kernel dedicados ao processamento assíncrono de E/S) que podem atender a solicitações de E/S de caminho lento.
Ajuste
O valor de ajuste é um valor por CPU. O valor de " aio_maxservers não pode ser menor que " aio_minservers. Nunca poderá haver mais do que o valor de aio_maxservers solicitações de E/S assíncronas de parâmetro ajustável em andamento ao mesmo tempo, portanto, esse número limita a possível simultaneidade de E/S.
aio_minservers
Propósito
Especifica o número mínimo de servidores de AIO (processos de kernel dedicados ao processamento de E/S assíncrono) que permanecem ativos para processar solicitações de E/S de caminho lento.
Ajuste
O valor de ajuste é um valor por CPU. O valor de aio_minservers não pode ser maior que o valor de aio_maxservers. Quando a extensão kernel for carregada, nenhum servidor AIO será criado, independentemente das configurações atuais ou padrão. Este valor permite uma pegada mínima AIO em sistemas em que AIO nunca é usado. À medida que as solicitações de E/S são iniciadas, os servidores AIO são criados para atendê-las até que o valor máximo permitido por ' aio_maxservers seja atingido. Quando o valor " aio_minservers é excedido, o número de servidores não se torna menor que " aio_minservers.
aio_server_inactivity
Propósito
Especifica quanto tempo um servidor AIO dorme sem atender uma solicitação de E/S.
Ajuste
Quando esse limite de tempo é excedido, o servidor é encerrado, a menos que faça com que o número de servidores disponíveis seja menor que ' aio_minservers. Nesse caso, o servidor volta a dormir. O tempo que o servidor dorme nesse caso raro é o maior dos tempos especificados para os valores atual e padrão de ' aio_server_inactivity. Trata-se de um caso raro e indica que pode haver um desequilíbrio entre o número de servidores disponíveis e a quantidade de I/O.
aio_delegateiotodriverkth
Propósito
Especifica o valor do limite para delegar a E/S assíncrona ao thread do kernel do driver Virtual Persistent MemoryvPMEM).
Ajuste
A sub-rotina ' lio_listio ou ' lio_listio64 inicia uma lista de solicitações de E/S assíncronas com uma única chamada. Se o número de solicitações de E/S assíncronas na lista for maior que o valor do parâmetro ajustável aio_delegateiotodriverkth e o dispositivo subjacente for vPMEM, o driver vPMEM delegará a E/S assíncrona ao thread do kernel do driver vPMEM para melhorar o desempenho. Um valor de 0 desativa o parâmetro sintonizável aio_delegateiotodriverkth .
início da mudançaaio_queue_enhanced_searchtérmino da mudança
Propósito
Especifica se deve ser usado o algoritmo existente ou o aprimorado para localizar a solicitação de AIO na fila.
Ajuste
Se esse valor de parâmetro ajustável for definido como 1, um algoritmo de pesquisa aprimorado será usado para localizar a solicitação de AIO na fila; caso contrário, o algoritmo existente será usado. O desempenho da solicitação de pesquisa AIO é aprimorado com o algoritmo aprimorado. Para alternar entre os algoritmos, defina o parâmetro sintonizável aio_queue_enhanced_search para o valor necessário e reinicie o sistema. Por padrão, o valor do parâmetro ajustável aio_queue_enhanced_search é definido como 1 e usa o algoritmo de pesquisa aprimorado. Definir o valor do parâmetro ajustável como 0 usa o algoritmo existente.
dk_closed_path_recovery
Propósito
Ativa ou desabilita o suporte para recuperação de caminhos de E/S multipath (MPIO) que estavam no estado falhado quando o disco MPIO foi fechado. A operação de recuperação é tentada periodicamente após o disco MPIO ser fechado até que o caminho MPIO seja recuperado. Se os caminhos MPIO estiverem em estado de falha e se o disco MPIO já estiver fechado, os caminhos MPIO com falha não poderão ser recuperados quando você definir esse parâmetro ajustável como 1. Você pode abrir e fechar o disco MPIO e iniciar a recuperação de caminhos MPIO para discos MPIO que já estão fechados usando o seguinte comando:
lsmpio -o -l hdiskX
Esse recurso é suportado por padrão nos módulos de controle de caminho (PCMs) do site AIX.
Ajuste
Um valor de ajuste de 0 desativa o suporte à recuperação de caminhos MPIO que estão em estado de falha. O valor padrão é 0.
Um valor de ajuste de 1 habilita o suporte para a recuperação de caminhos MPIO que estão em estado de falha.
dk_lbp_enabled
Propósito
Ativa ou desativa o suporte ao Logical Block Provisioning (LBP), também conhecido como thin-provisioning no sistema operacional AIX®. Quando desativado, AIX não tenta liberar os blocos que não são usados de um disco com provisionamento reduzido.
Ajuste
Um valor de ajuste de 1 ativa o suporte a LBP. O valor padrão é 1.
Um valor de ajuste de 0 desativa o suporte a LBP.
dk_lbp_num_bufs
Propósito
Define o tamanho para o pool de buffers pré-alocados que são usados para o suporte LBP.
Ajuste
Controla o número máximo de solicitações unmap que podem ser processadas pelo driver de disco em um determinado momento. O buffer pool é um conjunto de recursos em todo o sistema. Em qualquer disco com provisionamento reduzido, somente uma solicitação unmap pode estar ativa por vez. O valor padrão para esse parâmetro é 64 buffers. Por exemplo, se você tiver 64 buffers, terá 32 KB (64 buffers x 512 bytes = 32 KB) de memória total fixada. O valor desse ajuste está no intervalo de 1 a 1024.
dk_lbp_buf_size
Propósito
Define o tamanho de cada buffer no buffer pool de LBP. O valor padrão é 512 bytes. Esse valor pode ser alterado para 4096 (4 KB) e, nesse caso, os blocos podem ser liberados para os discos que suportam o tamanho de bloco de 4 KB.
Ajuste
O valor de ajuste desse parâmetro ajustável deve ser o mesmo que o maior tamanho de bloco suportado por qualquer disco conectado ao sistema AIX.
j2_atimeUpdateSymlink
Propósito
Se o parâmetro ajustável j2_atimeUpdateSymlink for definido como 1, o tempo de acesso dos links simbólicos do sistema de arquivos JFS2 será atualizado nas solicitações readlink .
Ajuste
Um valor de 0 indica que o tempo de acesso dos links simbólicos do sistema de arquivos JFS2 não é atualizado na solicitação readlink . Há uma penalidade de desempenho associada à ativação do j2_atimeUpdateSymlink , portanto, esse ajuste não deve ser alterado a menos que haja uma necessidade real. SUSv3 não exige que o tempo de acesso seja atualizado na solicitação readlink . No entanto, o JFS e muitas outras plataformas atualizam o tempo de acesso na solicitação readlink . Esse ajustável é fornecido para compatibilidade com o JFS e outros sistemas compatíveis com o UNIX.
j2_dynamicBufferPreallocation
Propósito
Especifica o número de slabs de 16 K a serem alocados por alocação quando o sistema de arquivos estiver com poucos buffers de sistema de arquivos usados para armazenar dados temporariamente durante as operações de E/S (bufstructs).
Ajuste
Um valor de 16 representa 256 K. O sistema de arquivos não precisa ser remontado. O site bufstructs do sistema de arquivos JFS2 agora é dinâmico. O número de buffers que começam no dispositivo de paginação é controlado pelo parâmetro ajustável j2_nBufferPerPagerDevice , mas os buffers são alocados e destruídos dinamicamente após esse valor inicial. Se o número de E/Ss do sistema de arquivos de pager externo bloqueadas sem fsbuf (de vmstat -v) aumentar, o parâmetro ajustável j2_dynamicBufferPreallocation deverá ser aumentado para esse sistema de arquivos, pois a carga de E/S no sistema de arquivos pode estar excedendo a velocidade da pré-alocação. Um valor de 0 desativa completamente a alocação dinâmica de buffer.
j2_inodeCacheSize
Propósito
Controla a quantidade de memória que o sistema de arquivos JFS2 usa para o cache do nó de índice (inode).
Ajuste
O valor de ajuste não indica explicitamente a quantidade que é usada, mas é um fator de escala. O valor do parâmetro ajustável ' j2_inodeCacheSize é usado em combinação com o tamanho da memória principal para determinar o uso máximo de memória para o cache de inode. O fator de dimensionamento do tamanho do cache de inode é calculado como o produto da memória da máquina e o valor do parâmetro ajustável j2_inodeCacheSize dividido por 4000. O valor padrão do parâmetro ajustável ' j2_inodeCacheSize é 200, o que significa que o tamanho do cache de inode ocupa até 5% da memória da máquina. A inclusão e a remoção da memória dinâmica não alteram automaticamente o tamanho do cache. O valor padrão para esse parâmetro ajustável foi alterado na versão 7.1 AIX, mas os sistemas com tamanhos menores de memória principal e que têm um grande número de usuários simultâneos ou arquivos abertos podem ter um desempenho melhor com o valor padrão antigo de 400.
j2_maxPageReadAhead
Propósito
Especifica o número máximo de páginas a serem lidas antecipadamente quando um arquivo acessado sequencialmente é processado no sistema de arquivos JFS2.
Ajuste
A diferença entre o parâmetro minfree e o parâmetro maxfree deve ser sempre igual ou maior que o valor do parâmetro ajustável j2_maxPageReadAhead . Se o tempo de execução diminuir quando o valor do parâmetro ajustável j2_maxPageReadAhead aumentar, certifique-se de que o desempenho dos outros aplicativos não se deteriore.
j2_maxRandomWrite
Propósito
Especifica um valor limite para que as operações de gravação aleatória se acumulem na memória de acesso aleatório (RAM) antes que as páginas subsequentes sejam descarregadas no disco pelo algoritmo write-behind do sistema de arquivos JFS2.
Ajuste
O valor do limite de gravação aleatória está em uma base por arquivo. Esse parâmetro ajustável é útil se um grande número de páginas for liberado pelo daemon syncd .
j2_metadataCacheSize
Propósito
Controla a quantidade de memória que o sistema de arquivos JFS2 usa para o cache de metadados.
Ajuste
O valor de ajuste não indica explicitamente a quantidade que é usada, mas é um fator de escala. O valor do parâmetro ajustável " j2_metadataCacheSize é usado em conjunto com o tamanho da memória principal para determinar o uso máximo de memória para o cache de metadados. O fator de dimensionamento do tamanho do cache de metadados é calculado como o produto da memória da máquina e o valor do parâmetro ajustável j2_metadataCacheSize dividido por 10000. O valor padrão do parâmetro ajustável j2_metadataCacheSize é 200, o que significa que o tamanho dos metadados do inode ocupa até 2% da memória da máquina. A inclusão e a remoção da memória dinâmica não alteram automaticamente o tamanho do cache. O valor padrão para esse parâmetro ajustável foi alterado na versão 7.1 AIX, mas os sistemas com tamanhos menores de memória principal e que têm um grande número de usuários simultâneos ou arquivos abertos podem ter um desempenho melhor com o valor padrão antigo de 400.
j2_minPageReadAhead
Propósito
Especifica o número mínimo de páginas a serem lidas antecipadamente ao processar um arquivo acessado sequencialmente no sistema de arquivos JFS2.
Ajuste
É útil aumentar se houver muitos acessos sequenciais grandes. Certifique-se de que o desempenho dos outros aplicativos não se deteriore. Um valor de 0 pode ser útil se o padrão de E/S for puramente aleatório.
j2_nPagesPerWriteBehindCluster
Propósito
Especifica o número de páginas, por cluster, que é processado pelo algoritmo write-behind do sistema de arquivos JFS2.
Ajuste
Útil para aumentar se mais páginas devem ser mantidas em RAM antes de serem programadas para E/S, quando o padrão de E/S é sequencial. Pode ser apropriado aumentar, se forem usados volumes lógicos em faixas ou matrizes de disco.
j2_nRandomCluster
Propósito
Especifica a distância (em clusters) que a operação de gravação deve exceder para ser considerada aleatória pelo algoritmo de gravação aleatória do JFS.
Ajuste
Útil para aumentar se mais páginas precisarem ser mantidas na RAM antes de serem programadas para E/S, quando o padrão de E/S for aleatório e a gravação aleatória estiver ativada pelo parâmetro ajustável j2_maxRandomWrite .
j2_recoveryMode
Propósito
Define o comportamento para recuperação de erros de gravação do sistema de arquivos JFS2.
Ajuste
O valor padrão de 1 indica que a recuperação automática de erros de gravação do sistema de arquivos JFS2 está definida. O valor de 0 indica que os sistemas de arquivos permanecem em um modo degradado até serem desmontados.
j2_syncByVFS
Propósito
Altera o atraso entre cada chamada de processamento de sincronização para um sistema de arquivos JFS2 .
Ajuste
Esse parâmetro ajustável permite que os sistemas de arquivos JFS2 sejam sincronizados em uma taxa diferente do período padrão do daemon sync . Quando esse ajuste é definido como um valor diferente de zero, é o número de segundos de atraso entre as iterações do processamento de sincronização para cada sistema de arquivos JFS2. Ao usar esse ajuste, as operações de sincronização podem ser distribuídas mais do que o daemon sync pode distribuir, pois o daemon sync lida com todos os sistemas de arquivos simultaneamente. Também permite alterar o número de threads que lidam com as operações do sistema de arquivos sync .
j2_syncConcurrency
Propósito
Altera o número de threads que são executadas para sincronizar dados a JFS2 sistemas de arquivos. Cada thread opera em um sistema de arquivos por vez.
Ajuste
Quando há muitos sistemas de arquivos montados, pode ser necessário aumentar esse valor para que todos os sistemas de arquivos sejam tratados pela operação de sincronização em tempo hábil.
Nota: Este valor é eficaz apenas quando o parâmetro ajustável j2_syncByVFS é nonzero.
j2_syncDelayReport
Propósito
Notifica se o tempo necessário para sincronizar os sistemas de arquivos exceder um número especificado de segundos.
Ajuste
Este parâmetro ajustável configura o número de segundos que é permitido para concluir o processamento de sincronização para um sistema de arquivos. Se esse número for excedido, uma mensagem será gerada no arquivo syslog . Essa mensagem é apenas informativa e não altera nenhum outro comportamento da operação de sincronização.
j2_syncPageCount
Propósito
Define o número máximo de páginas modificadas de um arquivo que é gravado no disco pela chamada de sistema sync em uma única operação.
Ajuste
Quando um aplicativo que usa caching do sistema de arquivos é executado e faz grandes números de gravações aleatórias, pode ser necessário ajustar essa configuração para evitar demoras demoradas durante as operações de sincronização.
j2_syncPageLimit
Propósito
Define o número máximo de vezes que a chamada de sistema sync usa o parâmetro sintonizável j2_syncPageCount . Esse parâmetro ajustável limita o número de páginas que são gravadas antes de aumentar o valor do parâmetro ajustável j2_syncPageCount para permitir o progresso da operação de sincronização.
Ajuste
Esse parâmetro ajustável deve ser definido quando o parâmetro j2_syncPageCount for definido e deve ser aumentado se o efeito da alteração do parâmetro j2_syncPageCount não for suficiente.
start of changelvm_workQ_enhanced_searchend of change
Propósito
Especifica se deve ser usado o algoritmo de pesquisa existente ou aprimorado para localizar a E/S sobreposta na fila de trabalho do volume lógico.
Ajuste
Se o valor do parâmetro ajustável start of changelvm_workQ_enhanced_searchend of change for definido como 1, o algoritmo de pesquisa aprimorado será usado para localizar a E/S sobreposta na fila de trabalho do volume lógico. Caso contrário, o algoritmo existente é usado. O desempenho da busca de E/S sobrepostas é aprimorado pelo algoritmo aprimorado.
Para alternar entre os algoritmos, um volume lógico deve ser fechado e reaberto alterando o valor do parâmetro sintonizável start of changelvm_workQ_enhanced_searchend of change para o valor necessário. Por padrão, esse valor de parâmetro ajustável é definido como 0 e usa o algoritmo de pesquisa existente.
lvm_bufcnt
Propósito
Especifica o número de buffers de LVM para E/Ss físicas não processadas.
Ajuste
Os aplicativos que executam gravações grandes em volumes lógicos brutos distribuídos não obtêm a taxa de transferência desejada. O LVM divide as E/S brutas grandes em vários buffers de 128 KB cada. Um valor 9 significa que E/Ss de aproximadamente 1 MB podem ser processadas sem esperar mais buffers. Se um sistema estiver configurado para ter volumes lógicos brutos divididos e estiver fazendo gravações maiores que 1.125 MB, o aumento desse valor pode ajudar o rendimento do aplicativo. Se um sistema executa maiores de 1 MB I/Os brutos, pode ser útil aumentar esse valor.
maxpgahead
Propósito
Especifica o número máximo de páginas a serem lidas antes quando um arquivo acessado sequencialmente é processado.
Ajuste
Esse valor do parâmetro ajustável deve ser uma potência de dois e deve ser maior ou igual ao valor do parâmetro ajustável minpgahead . Observe o tempo de execução decorrido de aplicativos críticos dependentes de E/S sequencial com o comando time . Devido a limitações no kernel, não ultrapasse 512 como valor máximo. A diferença entre os parâmetros minfree e maxfree deve ser sempre igual ou maior que o valor do parâmetro ajustável maxpgahead . Se o tempo de execução diminuir com um valor mais alto do parâmetro ajustável maxpgahead , observe outros aplicativos para garantir que o desempenho deles não se deteriore.
maxrandwrt
Propósito
Especifica um limite (em páginas de 4 KB) de gravações aleatórias para acumular na RAM antes que páginas subsequentes sejam limpas da memória para disco pelo algoritmo de gravação atrasado.
Ajuste
A base do limite de gravação atrasada aleatória é por arquivo. O valor máximo indica o maior tamanho de arquivo, em páginas. Você poderá alterar o valor se o comando vmstat n mostrar picos de tempo de espera de saída de página e E/S em intervalos regulares (geralmente quando o daemon de sincronização estiver gravando páginas no disco). É útil definir esse valor como 1 ou mais se ocorrerem várias E/S quando o comando syncd for executado. Um valor de 0 desativa o write-behind aleatório e indica que as gravações aleatórias permanecem na RAM até que ocorra uma operação de sincronização. A configuração do parâmetro ajustável maxrandwrt garante que essas gravações sejam transferidas para o disco antes que a operação de sincronização ocorra. No entanto, isso pode prejudicar o desempenho porque o arquivo é liberado todas as vezes antes de uma operação de sincronização. Ajuste esta opção para favorecer o tempo de resposta interativo sobre o rendimento. Depois que o limite é atingido, todas as páginas subsequentes são transferidas para o disco. As páginas até o valor limite permanecem na RAM até que ocorra uma operação de sincronização.
numclust
Propósito
Especifica o número de clusters de 16 KB que são processados pelo algoritmo sequencial write-behind do VMM.
Ajuste
Útil para aumentar se mais páginas devem ser mantidas em RAM antes de serem programadas para E/S, quando o padrão de E/S é sequencial. Pode ser apropriado aumentar se forem usados volumes lógicos em faixas ou matrizes de disco.
numfsbufs
Propósito
Especifica o número do sistema de arquivos ' bufstructs.
Ajuste
O sistema de arquivos deve ser remontado. Se o VMM precisar esperar por um ' bufstruct livre, ele colocará o processo na lista de espera do VMM antes que a E/S de início seja emitida e o despertará quando um ' bufstruct estiver disponível. pode ser apropriado aumentar se forem usados volumes lógicos em faixas ou matrizes de disco.
pd_npages
Propósito
Especifica o número de páginas que devem ser excluídas em um chunk de RAM quando um arquivo é excluído.
Ajuste
O valor máximo indica o maior tamanho de arquivo, em páginas. Os aplicativos em tempo real apresentam lentidão no tempo de resposta enquanto os arquivos estão sendo excluídos. O ajuste desta opção é útil apenas para aplicativos de tempo real. Se a resposta em tempo real for crítica, ajustar esta opção pode melhorar o tempo de resposta, espalhando a remoção de páginas de arquivo de RAM mais uniformemente sobre uma carga de trabalho.
posix_aio_active
Propósito
Indica se a extensão do kernel AIO é usada e pintada.
Ajuste
Um valor ajustável de 1 indica que a extensão do kernel AIO é usada e fixada.
posix_aio_maxreqs
Propósito
Especifica o número máximo de solicitações de E/S assíncronas que podem ser pendentes de uma só vez.
Ajuste
O número especificado inclui solicitações de E/S que estão em andamento, bem como aqueles pedidos que estão aguardando em filas para serem iniciados. O número máximo de solicitações de E/S assíncronas não pode ser menor do que o valor de AIO_MAX, conforme definido no arquivo /usr/include/sys/limits.h , mas pode ser maior. É apropriado que um sistema com um alto volume de E/S assíncrona tenha um número máximo de solicitações de E/S assíncrona maior que AIO_MAX.
posix_aio_maxservers
Propósito
Especifica o número máximo de servidores de AIO (processos de kernel dedicados ao processamento de E/S assíncrono) permitidos para atender solicitações de E/S de caminho lento.
Ajuste
Esse valor de parâmetro ajustável é um valor por processador. O valor do parâmetro ajustável posix_aio_maxservers não pode ser menor que o valor do parâmetro ajustável posix_aio_minservers . Nunca poderá haver mais do que o valor de posix_aio_minservers solicitações de E/S assíncronas de parâmetro ajustável em andamento ao mesmo tempo, portanto, esse número limita a possível simultaneidade de E/S.
posix_aio_minservers
Propósito
Especifica o número mínimo de servidores de AIO (processos de kernel dedicados ao processamento de E/S assíncrono) que permanecem ativos para processar solicitações de E/S de caminho lento.
Ajuste
Esse valor de parâmetro ajustável é um valor por CPU. O valor ajustável do parâmetro ajustável posix_aio_minservers não pode ser maior do que o valor do parâmetro ajustável posix_aio_maxservers . Quando a extensão do kernel é carregada, nenhum servidor AIO é criado, independentemente das configurações atuais ou padrão. Este manuseio permite uma pegada mínima AIO em sistemas em que AIO nunca é usado. À medida que as solicitações de E/S são iniciadas, os servidores AIO são criados para atendê-las até que o valor máximo permitido pelo parâmetro ajustável posix_aio_maxservers seja atingido. Quando o valor do parâmetro sintonizável posix_aio_minservers é excedido, o número de servidores não se torna menor que o valor do parâmetro sintonizável posix_aio_minservers .
posix_aio_server_inactivity
Propósito
Especifica quanto tempo um servidor AIO dorme sem atender uma solicitação de E/S.
Ajuste
Quando o limite de tempo é excedido, o servidor sai, a menos que faça com que o número de servidores disponíveis se torne menor do que o valor do parâmetro ajustável posix_aio_minservers . Nesse caso, o servidor volta a dormir. O tempo que o servidor dorme nesse caso raro é o maior dos tempos especificados para os valores atual e padrão do parâmetro ajustável posix_aio_server_inactivity . Trata-se de um caso raro e indica que pode haver um desequilíbrio entre o número de servidores disponíveis e a quantidade de I/O.
posix_aio_delegateiotodriverkth
Propósito
Especifica o valor limite para delegar a E/S assíncrona ao thread do kernel do driver vPMEM.
Ajuste
A sub-rotina ' lio_listio ou ' lio_listio64 inicia uma lista de solicitações de E/S assíncronas com uma única chamada. Se o número de solicitações de E/S assíncronas na lista for maior que o valor do parâmetro ajustável posix_aio_delegateiotodrPivuerproksteh e o dispositivo subjacente for vPMEM, o driver vPMEM delegará a E/S assíncrona ao thread do kernel do driver vPMEM para melhorar o desempenho. Um valor de 0 desativa o parâmetro sintonizável posix_aio_delegateiotodrPivuerproksteh .
início da mudançaposix_ aio_queue_enhanced_searchtérmino da mudança
Propósito
Especifica se deve ser usado um algoritmo de pesquisa existente ou aprimorado para localizar a solicitação de AIO na fila.
Ajuste
Se esse valor de parâmetro ajustável for definido como 1, um algoritmo de pesquisa aprimorado será usado para localizar a solicitação de AIO na fila. Caso contrário, é usado um algoritmo existente. O desempenho da solicitação de pesquisa AIO é aprimorado com o algoritmo de pesquisa aprimorado. Para alternar entre os algoritmos, defina o parâmetro sintonizável posix_ aio_queue_enhanced_search para o valor necessário e reinicie o sistema. Por padrão, o valor do parâmetro ajustável posix_aio_queue_enhanced_search é definido como 1 e usa o algoritmo de pesquisa aprimorado. Definir o valor do parâmetro ajustável como 0 usa o algoritmo existente.

Estatísticas e uso de memória

  • Para exibir o uso de memória do sistema de arquivos, digite o seguinte comando:
    cat /proc/sys/fs/jfs2/memory_usage

    Isso retorna o cache de metadados, o cache " inode e o uso total da memória em bytes.

  • Para exibir as estatísticas do sistema de arquivos, digite o seguinte comando:
    cat /proc/sys/fs/jfs2/statistics

    Isso retorna o número de acertos de ' icache, falhas de ' icache e ativações de ' icache.

  • Para exibir as estatísticas do sistema relacionadas ao suporte LBP, como o número de vezes que o valor fora do buffer aparece e o número de vezes que a operação unmap falhou, digite o seguinte comando:
    cat/proc/sys/disk/lbp/statistics

Segurança

Atenção usuários do RBAC: Este comando pode realizar operações privilegiadas. Somente usuários privilegiados podem executar essas operações. Para obter mais informações sobre autorizações e privilégios, consulte Banco de dados de comandos privilegiados em Segurança. Para obter uma lista de privilégios e autorizações associados a esse comando, consulte o comando ' lssecattr ou o subcomando ' getcmdattr.

Exemplos

  1. Para listar o valor atual e de reinicialização, o intervalo, a unidade, o tipo e as dependências dos parâmetros ajustáveis gerenciados pelo comando ioo , digite o seguinte comando:
    ioo -L 
  2. Para listar os valores atuais, padrão e de reinicialização, o intervalo, a unidade e o tipo do parâmetro ajustável ' j2_recoveryMode, digite o seguinte comando:
    ioo -L j2_recoveryMode
    O resultado pode ser semelhante à seguinte saída:
    NAME              CUR    DEF    BOOT   MIN    MAX    UNIT          TYPE
    -----------------------------------------------------------------------
    recoveryMode       1      1       1     0      1      n/a            D
    -----------------------------------------------------------------------
  3. Para exibir as informações de ajuda do parâmetro j2_nPagesPerWriteBehindCluster tunable, digite o seguinte comando:
    ioo -h j2_nPagesPerWriteBehindCluster 
  4. Para definir o parâmetro sintonizável maxrandwrt como 4 após a próxima reinicialização, digite o seguinte comando:
    ioo -r -o maxrandwrt=4
  5. Para redefinir permanentemente todos os parâmetros ajustáveis do ' ioo para o padrão, digite o seguinte comando:
    ioo -p -D 
  6. Para listar o valor de reinicialização de todos os parâmetros ajustáveis do site ioo , digite o seguinte comando:
    ioo -r -a
  7. Para listar, em formato de planilha, o valor atual e o valor de reinicialização, o intervalo, a unidade, o tipo e as dependências dos parâmetros de ajustáveis que são gerenciados pelo comando ioo , digite o seguinte comando:
    ioo -x