AIX för systemadministratörer
Minneshierarki
instruktionerna och data som CPU-processerna tas från minnet. Minnet finns i flera lager.
Register – det översta lagret, det är hög hastighet lagringsceller (kan innehålla 32-64 bitars data)
cachar – om data inte kan hittas i register det kommer att ses i nästa nivå, som är cache
L1 cache den fastes en minsta (vanligtvis på CPU chip) 32-256 KB
L2 cache, om de nödvändiga uppgifterna inte i L1, CPU försöker hitta den i L2, det kan vara megabyte i storlek (4MB)
L3 cache, det är lite mer långt borta, runt 32MB
ram – om de nödvändiga uppgifterna inte i hårdvaru cachar sedan TLB (översättning Lookaside buffert) kommer att kontrolleras, efter ram
TLB – cache av nyligen åtkomliga adresser
disk – Om adressen inte finns i RAM, uppstår ett sidfel och data hämtas från hårddisken.
ett sidfel är en begäran om att ladda en 4KB datasida från disken.
hur efterfrågesökning fungerar är att kärnan bara laddar några sidor åt gången i verkligt minne. När CPU: n är redo för en annan sida ser den på RAM. Om den inte hittar den där uppstår ett sidfel, och detta signalerar kärnan för att få fler sidor till RAM från disken.
om CPU: n väntar på data från verkligt minne anses CPU: n fortfarande vara i upptagen tillstånd. Om data behövs från disken är CPU i I / O-vänteläge.
————————————-
L2 Cache och prestanda:
L2 cache är ett snabbt minne som lagrar kopior av data från de mest använda huvudminnesplatserna.
första bilden visar ett Power5-system, andra bilden Power6 (eller Power7) system.
i Power5-system finns det en enda L2-cache på ett processorchip som delas av båda kärnorna på chipet. I senare servrar (Power6 och Power7) har de separat L2-cache för varje kärna på ett chip. Partitionens prestanda beror på hur effektivt det använder processorns cache.
Om L2-cache-störningar med andra partitioner är minimal är prestandan mycket bättre för partitionen. Att dela L2-cache med andra partitioner innebär att det finns en chans att processorns mest använda data kommer att spolas ut ur cachen och åtkomst från L3-cache eller från huvudminnet tar längre tid.
————————————-
Personsökningsutrymme (även kallat växlingsutrymme)
RAM-minnet och personsökningsutrymmet är indelade i 4 KB-sektioner som kallas sidramar. (En sida är en enhet med virtuellt minne som innehåller 4 KB data.) När systemet behöver mer RAM, sidramar av information flyttas ut ur RAM och på hårddisken. Detta kallas paging out. När dessa sidramar med information behövs igen tas de från hårddisken och flyttas tillbaka till RAM. Detta kallas paging in.
när systemet spenderar mer tid på att blanda sidramar in och ut ur RAM istället för att göra användbart arbete, slår systemet.
när mängden tillgängligt personsökningsutrymme faller under en tröskel, kallad Varningsnivå för personsökningsutrymme, skickar systemet alla processer (utom kärnprocesserna) en sigdanger-signal. Denna signal berättar processerna att avsluta graciöst. När mängden tomt personsökningsutrymme faller längre under en andra tröskel, kallad personsökningsutrymmets dödsnivå, skickar systemet en sigkill-signal till processer som använder mest personsökningsutrymme. (avsluta nongracefully)
När AIX installeras, det skapar automatiskt personsökningsutrymme på installationsdisken, som vanligtvis är hårddisken hdisk0. Namnet på detta personsökningsutrymme är alltid hd6. Filen / etc / swapspaces innehåller en lista över de personsökningsutrymmen som kommer att aktiveras vid systemstart.
swapon är en term från dagarna innan sidramar användes. Vid den tiden, omkring 1982, bytte AIX hela program UR RAM och på hårddisken. Idag är en del av programmet kvar i RAM, och resten är paged ut ur programmet på hårddisken. Termen swapon fastnade, så idag hänvisar vi ibland till att söka ut och söka in som byte
När du har Sidat ut en beräkningssida fortsätter den att ta plats på personsökningsfilen så länge processen finns, även om sidan därefter söks in igen. I allmänhet bör du undvika personsökning alls.
hur mycket personsökningsutrymme behöver du på ditt system? Vad är tumregeln?
databasadministratörer brukar vilja begära det högsta antalet allt och kan instruera dig att fördubbla mängden personsökningsutrymme som ditt RAM (den gamla tumregeln). Generellt sett, om mitt system har större än 4 GB RAM, gillar jag vanligtvis att skapa ett ett-till-ett-förhållande mellan personsökningsutrymme kontra RAM. Övervaka ditt system ofta efter att ha gått live. Om du ser att du aldrig riktigt närmar dig 50 procent av personsökningsutrymmet, lägg inte till utrymmet.
antalet och typerna av applikationer kommer att diktera hur mycket personsökningsutrymme som behövs. Många dimensionering ”tumregler” har publicerats, men det enda sättet att korrekt storlek maskinens personsökningsutrymme är att övervaka mängden personsökningsaktivitet.
Tips för personsökningsutrymme:
– endast 1 personsökningsutrymme per disk
– använd diskar med minst aktivitet
– Personsökningsspcaces bör ha samma storlek
– förläng inte en personsökningsspcae till flera PV: er
helst bör det finnas flera personsökningsutrymmen av samma storlek vardera på olika fysiska volymer. Personsökningsutrymmet fördelas på ett round robin-sätt och kommer att använda alla personsökningsområden lika. Om du har två personsökningsområden på en disk sprider du inte längre aktiviteten över flera diskar.På grund av round robin-tekniken som används, om de inte har samma storlek, kommer personsökningsutrymmet inte att balanseras.
bootinfo-r visar det verkliga minnet i kilobyte (detta fungerar också: lsattr-El sys0-a realmem)
lscfg-vp |grep-p DIMM visar minnet DIMM
lsattr-El sys0-a realmem (listattribut) se hur mycket verkligt minne du har
ps aux | sort +4-n listar hur mycket mem som används av processerna
svmon-P | grep-p <PID> du kan se hur mycket personsökning spce en process använder
svmon-P-O sortseg=pgsp visar personsökningsutrymme användning av processer
mkps-S 4-n-a rootvg hdisk0 skapar ett personsökningsutrymme (ange namnet automatiskt:paging00)
-N aktiverar det omedelbart,
-a det kommer att aktiveras vid nästa omstart också (lägger till det i /etc/swapspaces)
-s Storlek 4 lp
lsps-en lista alla personsökningsutrymmen och användningen av ett personsökningsutrymme
LSPs-s sammanfattning av alla personsökningsutrymmen kombinerade (alla personsökningsutrymmen läggs ihop)
chps-s 3 hd6 dynamiskt öka storleken på ett personsökningsutrymme med 3 lps
CHPS-d 1 paging00 minskar dynamiskt storleken på ett personsökningsutrymme med 1 LP (det skapar ett tillfälligt personsökningsutrymme)
/etc/swapspaces innehåller en lista över personsökningsutrymmena
vmstat-S
Smitty mkps lägger till personsökning space
smitty chps ändra personsökningsutrymme
swapon / dev / paging02 dynamiskt aktivera, eller ta med online, ett personsökningsutrymme (eller smitty pgsp)
swapoff /dev/paging03 inaktivera ett personsökningsutrymme
——————————
ta bort ett personsökningsutrymme:
swapoff / dev / paging03 inaktivera ett personsökningsutrymme (/dev behövs)
rmps paging03 tar bort ett personsökningsutrymme (/dev behövs inte)
——————————
för spolning av personsökningsutrymmet:
(Det visar hög procentandel, men faktiskt använder ingenting det)
1. chps-d 1 hd6 det kommer att minska storleken på personsöknings spave med 1 lp (det kommer att skapa en temp. personsökningsutrymme, kopiera conntent…)
(om inte tillräckligt med utrymme i vg, kommer det inte att göra det)
2. chps-s 1 hd6 ökar personsökningsutrymmet till sin ursprungliga storlek
——————————
gaffel:
När det finns ett meddelande om kan inte gaffel… det orsakas förmodligen av lågt personsökningsutrymme
När en process anropar fork () skapar operativsystemet en underordnad process för anropsprocessen.
barnprocessen skapad av fork() är en slags kopia av anropsprocessen. Vissa serverprocesser, eller demoner, anropar fork () några gånger för att skapa mer än en instans av sig själva. Ett exempel på detta är en webbserver som pre-gafflar så att den kan hantera ett visst antal inkommande anslutningar utan att behöva gaffel() det ögonblick de anländer.
När AIX är ur minnet börjar det döda processer. Att skydda en process (till exempel ssh) kan vara viktigt för att nå servern.
VMO-alternativet ’nokilluid’ kan användas för att skydda specifika processer:
1. grep ssh / etc / passwd få användar-id för ssh (i vårt fall var det 202)
2. VMO-o nokilluid = 202 användar-ID lägre än detta värde kommer inte att dödas på grund av lågt sidutrymme
——————————
hantering av virtuellt minne:
(Detta avsnitt gäller även ioo, no, 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
rot@aix1: / rot # vmo-l
namn CUR Def BOOT min MAX enhet TYPE
DEPENDENCIES
——————————————————————————–
cpu_scale_memp 8 8 8 1 64 B
——————————————————————————–
data_stagger_interval n / a 161 161 0 4K-1 4KB sidor D
lgpg_regions
——————————————————————————–
D = dynamisk: kan ändras fritt
B = Bosboot: kan bara ändras med bosboot och omstart
S = statisk: parametern kan aldrig ändras
R = omstart: parametern kan bara ändras under start
/etc/tunables / nextboot < –värden som ska tillämpas på nästa omstart. Den här filen tillämpas automatiskt vid starttid.
/etc/tunables / lastboot < – genereras automatiskt vid starttid. Den innehåller parametrarna, med deras värden efter den senaste starten.
/etc/tunables / lasboot.log < –innehåller loggning av skapandet av lastboot-filen, det vill säga att alla parameterändringar som görs loggas
vmo-o maxperm% = 80 <–sätter till 80
vmo-p-O maxperm% = 80-o maxclient% = 80 < — sätter maxperm% och maxclient% till 80
(- p: ställer in både nuvarande och omstartsvärden (uppdaterar nuvarande värde och /etc/tunables/nextboot)
vmo-r-o lgpg_size = 0-o lgpg_regions = 0 < – ställer bara in nextboot-filen, så efter omstart kommer att aktiveras
——————————
SAP Note 973227 rekommendationer:
minperm% = 3
maxperm% = 90
maxclient% = 90
lru_file_repage = 0
strict_maxclient =1
strict_maxperm = 0
minfree = 960
maxfree = 1088
————————————–
————————————–
————————————–