Use rcapstat para relatar estatística de resource capping. Monitorização da utilização de recursos com rcapstat explica como usar o comando rcapstat para gerar relatórios. Essa seção também descreve os cabeçalhos de coluna no relatório. A página do manual rcapstat(1) também contém estas informações.
As subseções a seguir usam exemplos para ilustrar como produzir relatórios para propósitos específicos.
Neste exemplo, limites são definidos para dois projetos associados a dois usuários. O user1 tem um limite de 50 megabytes, e o user2 tem um limite de 10 megabytes.
O comando a seguir produz cinco relatórios a intervalos de amostragem de 5 segundos.
user1machine% rcapstat 5 5 id project nproc vm rss cap at avgat pg avgpg 112270 user1 24 123M 35M 50M 50M 0K 3312K 0K 78194 user2 1 2368K 1856K 10M 0K 0K 0K 0K id project nproc vm rss cap at avgat pg avgpg 112270 user1 24 123M 35M 50M 0K 0K 0K 0K 78194 user2 1 2368K 1856K 10M 0K 0K 0K 0K id project nproc vm rss cap at avgat pg avgpg 112270 user1 24 123M 35M 50M 0K 0K 0K 0K 78194 user2 1 2368K 1928K 10M 0K 0K 0K 0K id project nproc vm rss cap at avgat pg avgpg 112270 user1 24 123M 35M 50M 0K 0K 0K 0K 78194 user2 1 2368K 1928K 10M 0K 0K 0K 0K id project nproc vm rss cap at avgat pg avgpg 112270 user1 24 123M 35M 50M 0K 0K 0K 0K 78194 user2 1 2368K 1928K 10M 0K 0K 0K 0K |
As três primeiras linhas de saída constituem o primeiro relatório, que contém as informações de limite e projeto para os dois projetos e estatística de paginação desde que rcapd foi iniciado. As colunas at e pg são um número maior do que zero para o user1 e zero para o user2, o que indica que ao mesmo tempo no histórico do daemon o user1 excedeu seu limite, mas o user2 não.
Os relatórios subseqüentes não relatam atividade significativa.
O exemplo a seguir mostra o user1 do projeto, que tem um RSS em excesso do limite de RSS.
O comando a seguir produz cinco relatórios a intervalos de amostragem de 5 segundos.
user1machine% rcapstat 5 5 |
id project nproc vm rss cap at avgat pg avgpg 376565 user1 3 6249M 6144M 6144M 690M 220M 5528K 2764K 376565 user1 3 6249M 6144M 6144M 0M 131M 4912K 1637K 376565 user1 3 6249M 6171M 6144M 27M 147M 6048K 2016K 376565 user1 3 6249M 6146M 6144M 4872M 174M 4368K 1456K 376565 user1 3 6249M 6156M 6144M 12M 161M 3376K 1125K |
O projeto do user1 tem três processos que estão usando ativamente a memória física. Os valores positivos na coluna pg indicam que rcapd está despaginando consistentemente a memória ao tentar observar o limite reduzindo a utilização da memória física dos processos do projeto. No entanto, rcapd não consegue manter o RSS abaixo do valor de limite. Isto é indicado pelos valores variáveis de rss que não mostram uma diminuição correspondente. Assim que a memória é despaginada, a carga de trabalho usa-a novamente e a contagem do RSS volta a subir. Isso significa que toda a memória residente do projeto está sendo usada ativamente e que o tamanho do conjunto de trabalho (WSS) é maior do que o limite. Assim, rcapd é forçado a despaginar uma parte do conjunto de trabalho para observar o limite. Nesta condição, o sistema continuará a experimentar altas taxas de falha de página e E/S associadas, até que um do que se segue ocorra:
O WSS se torna menor.
O limite é aumentado.
O padrão de acesso à memória do aplicativo é alterado.
Nesta situação, o encurtamento do intervalo de amostragem poderia reduzir a discrepância entre o valor do RSS e o valor do limite, fazendo rcapd efetuar a amostra da carga de trabalho e aplicar limites com mais freqüência.
Ocorre uma falha de página quando uma nova página deve ser criada ou quando o sistema deve copiar uma página de um dispositivo de permuta.
O exemplo a seguir é uma continuação do exemplo anterior, e usa o mesmo projeto.
O exemplo anterior mostra que o projeto do user1 está usando mais memória física do que o limite permite. Este exemplo mostra a quantidade de memória requerida pela carga de trabalho do projeto.
user1machine% rcapstat 5 5 id project nproc vm rss cap at avgat pg avgpg 376565 user1 3 6249M 6144M 6144M 690M 0K 689M 0K 376565 user1 3 6249M 6144M 6144M 0K 0K 0K 0K 376565 user1 3 6249M 6171M 6144M 27M 0K 27M 0K 376565 user1 3 6249M 6146M 6144M 4872K 0K 4816K 0K 376565 user1 3 6249M 6156M 6144M 12M 0K 12M 0K 376565 user1 3 6249M 6150M 6144M 5848K 0K 5816K 0K 376565 user1 3 6249M 6155M 6144M 11M 0K 11M 0K 376565 user1 3 6249M 6150M 10G 32K 0K 32K 0K 376565 user1 3 6249M 6214M 10G 0K 0K 0K 0K 376565 user1 3 6249M 6247M 10G 0K 0K 0K 0K 376565 user1 3 6249M 6247M 10G 0K 0K 0K 0K 376565 user1 3 6249M 6247M 10G 0K 0K 0K 0K 376565 user1 3 6249M 6247M 10G 0K 0K 0K 0K 376565 user1 3 6249M 6247M 10G 0K 0K 0K 0K 376565 user1 3 6249M 6247M 10G 0K 0K 0K 0K |
Na metade do ciclo, o limite no projeto do user1 foi aumentado de 6 gigabytes para 10 gigabytes. Este aumento interrompe a aplicação do limite e permite que o tamanho do conjunto residente aumente, limitado somente por outros processos e pela quantidade de memória na máquina. A coluna rss poderia se estabilizar para refletir o tamanho do conjunto de trabalho do projeto (WSS), 6247 M neste exemplo. Este é o valor de limite mínimo que permite que os processos do projeto sejam operados sem incorrerem continuamente em falhas de página.
Enquanto o limite no user1 é 6 segundos, em cada intervalo de amostra de 5 segundos o RSS diminui e a I/O aumenta à medida que rcapd despagina parte da memória da carga de trabalho. Logo depois que uma despaginação é concluída, a carga de trabalho que necessita dessas páginas as repagina enquanto continua sendo executada. Esse ciclo se repete até que o limite aumenta para 10 gigabytes, aproximadamente na metade do exemplo. Em seguida, o RSS se estabiliza em 6,1 gigabytes. Já que o RSS da carga de trabalho agora está abaixo do limite, não ocorrem mais paginações. A E/S associada à paginação também é interrompida. Portanto, o projeto requeria 6,1 gigabytes para realizar o trabalho que estava fazendo no momento em que estava sendo observado.
Consulte também as páginas do manual vmstat(1M) e iostat(1M).
Você pode usar a opção -g de rcapstat para relatar o seguinte:
A utilização de memória física atual como um percentual da memória física instalada no sistema
O limite da aplicação de limiar de memória do sistema definido por rcapadm
A opção -g faz com que uma utilização de memória e uma linha de aplicação de limite sejam impressas no fim do relatório de cada intervalo.
# rcapstat -g id project nproc vm rss cap at avgat pg avgpg 376565 rcap 0 0K 0K 10G 0K 0K 0K 0K physical memory utilization: 55% cap enforcement threshold: 0% id project nproc vm rss cap at avgat pg avgpg 376565 rcap 0 0K 0K 10G 0K 0K 0K 0K physical memory utilization: 55% cap enforcement threshold: 0% |