Aix para administradores de Sistema
hierarquia de memória
as instruções e dados que os processos da CPU são retirados da memória. A memória vem em várias camadas.
Regista – se a camada superior, é de alta velocidade de armazenamento de células (pode conter 32-64 bits de dados)
Caches – Se de dados não pode ser encontrado em registros que serão analisados no próximo nível, que é o cache
cache L1 a fastes um menor (geralmente no chip de CPU) 32-256 KB
L2 cache, se os dados necessários não em L1, CPU está tentando encontrá-lo em L2, pode ser megabytes de tamanho (4MB)
L3 cache, ele é um pouco mais longe, cerca de 32 MB
RAM – Se os dados necessários não nos caches de hardware, em seguida, TLB (Translation Lookaside Buffer) será verificado, após a RAM
TLB – cache do acessados recentemente endereços
Disco – Se o endereço não estiver na RAM, ocorre uma falha na página e os dados são recuperados do disco rígido.
uma falha de página é uma solicitação para carregar uma página de dados de 4KB do disco.A maneira como a paginação por demanda funciona é que o kernel carrega apenas algumas páginas de cada vez na memória real. Quando a CPU está pronta para outra página, ela olha para a RAM. Se não conseguir encontrá-lo lá, ocorre uma falha de página e isso sinaliza ao kernel para trazer mais páginas para a RAM do disco.
se a CPU está aguardando dados da memória real, a CPU ainda é considerada como estando em estado de ocupado. Se os dados forem necessários do disco, a CPU estará no estado de espera de E/S.
————————————-
Cache L2 e desempenho:o cache L2 é uma memória rápida que armazena cópias dos dados dos locais de memória principal mais usados.
a primeira imagem mostra um sistema Power5, o sistema Power6 (ou Power7) da segunda imagem.
nos sistemas Power5, há um único cache L2 em um chip de processador que é compartilhado por ambos os núcleos no chip. Em servidores posteriores (Power6 e Power7) eles têm cache L2 separado para cada núcleo em um chip. O desempenho da partição depende da eficiência com que está usando o cache do processador.
se a interferência do cache L2 com outras partições for mínima, o desempenho será muito melhor para a partição. Compartilhar o cache L2 com outras partições significa que há uma chance de os dados acessados com mais frequência do processador serem eliminados do cache e o acesso do cache L3 ou da memória principal levará mais tempo.
————————————-
espaço de paginação(também chamado de espaço de troca)
a RAM e o espaço de paginação são divididos em seções de 4 KB chamadas quadros de página. (Uma página é uma unidade de memória virtual que contém 4 KB de dados.) Quando o sistema precisa de mais RAM, os quadros de página de informações são movidos para fora da RAM e para o disco rígido. Isso é chamado de paginação. Quando esses quadros de página de informações são necessários novamente, eles são retirados do disco rígido e movidos de volta para a RAM. Isso é chamado de paginação.
Quando o sistema gasta mais tempo embaralhando quadros de página dentro e fora da RAM em vez de fazer um trabalho útil, o sistema está batendo.Quando a quantidade de espaço de paginação disponível cai abaixo de um limite, chamado de nível de aviso de espaço de paginação, o sistema envia todos os processos (exceto os processos do kernel) um sinal SIGDANGER. Este sinal diz aos processos para terminar graciosamente. Quando a quantidade de espaço de paginação vazio cai mais abaixo de um segundo limite, chamado de nível de eliminação de espaço de paginação, o sistema envia um sinal SIGKILL para processos que estão usando o espaço de paginação mais. (terminar nongracefully)
quando o AIX é instalado, ele cria automaticamente espaço de paginação no disco de instalação, que geralmente é o disco rígido hdisk0. O nome deste espaço de paginação é sempre hd6. O arquivo / etc / swapspaces contém uma lista das áreas de espaço de paginação que serão ativadas na inicialização do sistema.Swapon é um termo dos dias antes dos frames de página serem usados. Naquela época, por volta de 1982, Aix trocou programas inteiros de RAM e no disco rígido. Hoje, uma parte do programa é deixada na RAM e o restante é paginado para fora do programa no disco rígido. O termo swapon travou, então hoje, às vezes nos referimos a paginar e paginar como troca
Depois de paginar uma página de computação, ela continua ocupando espaço no arquivo de paginação, desde que o processo exista, mesmo que a página seja posteriormente paginada novamente. Em geral, você deve evitar paginação.
quanto espaço de paginação você precisa em seu sistema? Qual é a regra de ouro?Os administradores de banco de dados geralmente gostam de solicitar o maior número de tudo e podem instruí-lo a dobrar a quantidade de espaço de paginação como sua RAM (a regra antiga). De um modo geral, Se meu sistema tiver mais de 4 GB de RAM, geralmente gosto de criar uma proporção de um para um de espaço de paginação versus RAM. Monitore seu sistema com frequência depois de ir ao vivo. Se você perceber que nunca está realmente se aproximando de 50% da utilização do espaço de paginação, não adicione o espaço.
o número e os tipos de aplicativos ditarão a quantidade de espaço de paginação necessária. Muitas “regras práticas” de dimensionamento foram publicadas, mas a única maneira de dimensionar corretamente o espaço de paginação da sua máquina é monitorar a quantidade de atividade de paginação.
dicas para o espaço de paginação:
Somente 1 espaço de paginação por disco
– Use discos com o mínimo de atividade
– Paginação spcaces deve o mesmo tamanho
– não estender uma paginação spcae para vários PV s
Idealmente, deve haver várias paginação espaços de tamanho igual, cada um em diferentes volumes físicos. O espaço de paginação é alocado de maneira redonda e usará todas as áreas de paginação igualmente. Se você tiver duas áreas de paginação em um disco, não estará mais espalhando a atividade em vários discos.Por causa da técnica round robin que é usada, se eles não forem do mesmo tamanho, o uso do espaço de paginação não será equilibrado.
bootinfo -r exibe a memória real em kilobytes (isso também funciona: lsattr -El sys0 -um realmem)
lscfg -vp |grep -p DIMM exibe a memória DIMM
lsattr -El sys0 -um realmem (lista de atributos) ver o quanto de memória real você tem
ps aux | sort +4 -n indica a quantidade de mem é utilizado pelos processos
svmon -P | grep -p <pid> você pode ver o quanto de paginação spce um processo está usando
svmon -P-O sortseg=pgsp mostra o espaço de paginação uso de processos
mkps -s 4 -n-a rootvg hdisk0 cria um espaço de paginação (dar o nome automaticamente:paging00)
-n ativa-lo imediatamente,
-um será ativado na próxima reinicialização bem (adiciona-o para /etc/swapspaces)
-s tamanho 4 lp
lsps -uma lista de todos os paginação espaços e o uso de um espaço de paginação
lsps -s resumo de todos os espaços de paginação combinado (todos os paginação espaços são adicionados juntos)
chps -s 3 hd6 aumentar dinamicamente o tamanho de um espaço de paginação com 3 lps
chps -d 1 paging00 dinamicamente diminuir o tamanho de um espaço de paginação com 1 lp (ele vai criar uma paginação temporário espaço)
/etc/swapspaces contém uma lista de paginação áreas de espaço
vmstat -s
smitty mkps adição de paginação espaço
smitty chps alterar o espaço de paginação
swapon /dev/paging02 ativar dinamicamente, ou colocar on-line, um espaço de paginação (ou smitty pgsp)
swapoff /dev/paging03 desativar um espaço de paginação
——————————
a remoção de um espaço de paginação:
swapoff /dev/paging03 desativar um espaço de paginação (a /dev é necessário)
rmps paging03 remove um espaço de paginação (a /dev não é necessário)
——————————
Para liberar o espaço de paginação:
(mostra alta porcentagem, mas, na verdade, nada está usando)
1. chps-d 1 hd6 diminuirá o tamanho da onda de paginação por 1 lp (criará uma temperatura. espaço de paginação, Copie o conntent…)
(se não houver espaço suficiente no vg, não fará isso)
2. chps -s 1 hd6 aumentar o espaço de paginação para o seu tamanho original
——————————
Garfo:
Quando há uma mensagem relativa não pode garfo… provavelmente é causado por baixo espaço de paginação
Quando um processo chama fork (), o sistema operacional cria um processo filho do processo de chamada.
o processo filho criado por fork() é uma espécie de réplica do processo de chamada. Alguns processos de servidor, ou daemons, chamam fork () algumas vezes para criar mais de uma instância de si mesmos. Um exemplo disso é um servidor web que pré-bifurca para que ele possa lidar com um certo número de conexões de entrada sem ter que bifurcar() no momento em que chegam.
Quando o AIX está sem memória, ele começa a matar processos. Proteger um processo (por exemplo ssh) pode ser importante para alcançar o servidor.
a opção VMO ‘nokilluid’ pode ser usada para proteger processos específicos:
1. grep ssh / etc / passwd obtendo o ID do usuário do ssh (no nosso caso, era 202)
2. vmo -o nokilluid=202 ids de usuário menor do que esse valor não vai ser morto devido a baixa página-espaço
——————————
a gerência de Memória Virtual:
(esta seção também aplicável para ioo, não, nfso)
vmo -a|egrep “minperm%|maxperm%|maxclient%|lru_file_repage|strict_maxclient|strict_maxperm|minfree|maxfree”
root@aix04: / # vmo -a |grep maxclient
maxclient% = 8
strict_maxclient = 1
root@aix1: /root # vmo -L
NOME do CUR DEF INICIALIZAÇÃO MIN MAX UNIDADE TYPE
DEPENDENCIES
——————————————————————————–
cpu_scale_memp 8 8 8 1 64 B
——————————————————————————–
data_stagger_interval n/a 161 161 0 4K-1 DE páginas de 4 kb D
lgpg_regions
——————————————————————————–
D = Dinâmica: pode ser livremente alterada
B = Bosboot: só pode ser alterado usando bosboot e reinicialize
S = Estática: o parâmetro pode ser alterado
R = Reiniciar: o parâmetro só pode ser alterado durante a inicialização
/etc/tunables / nextboot < — valores a serem aplicados à próxima reinicialização. Este arquivo é aplicado automaticamente no momento da inicialização.
/ etc / tunables / lastboot < — gerado automaticamente no momento da inicialização. Ele contém os parâmetros, com seus valores após a última inicialização.
/ etc / tunables / lasboot.log <–contém o log de criação de lastboot arquivo, isto é, qualquer alteração de parâmetro feito é registrado
vmo -o maxperm%=80 <–define a 80
vmo -p-o maxperm%=80 -o maxclient%=80 <– define maxperm% e maxclient% a 80
(-p: define o atual, e reinicie valores (atualiza o valor atual e o /etc/tunables/nextboot)
vmo -r-o lgpg_size=0 -o lgpg_regions=0 <–define apenas em nextboot arquivo,de modo que após a reinicialização será ativado
——————————
Nota SAP 973227 recomendações:
minperm% = 3
maxperm% = 90
maxclient% = 90
lru_file_repage = 0
strict_maxclient =1
strict_maxperm = 0
minfree = 960
maxfree = 1088
————————————–
————————————–
————————————–