Aix järjestelmän ylläpitäjille
Muistihierarkia
suorittimen prosessien ohjeet ja tiedot otetaan muistista. Muistia on useita kerroksia.
rekisterit – ylin kerros, se on nopea tallennuskennot (voi sisältää 32-64 bittistä tietoa)
välimuistit – jos Tietoja ei löydy rekistereistä se katsotaan seuraavalle tasolle, joka on välimuisti
L1 välimuisti fastes pienin (yleensä CPU siru) 32-256 KB
L2 välimuisti, jos tarvittavat tiedot ei L1, CPU yrittää löytää sen L2, se voi olla megatavua koko (4MB)
L3 välimuisti, se on hieman kauempana, noin 32MB
RAM – jos tarvittavat tiedot eivät ole laitteistokätköissä, niin TLB (käännös lookaside buffer) tarkistetaan, kun RAM
TLB – äskettäin käytettyjen osoitteiden välimuisti
levy – Jos osoite ei ole RAM, sitten sivu vika tapahtuu ja tiedot haetaan kiintolevyltä.
sivuvirhe on pyyntö ladata 4KB datasivu levyltä.
vaatimushaku toimii siten, että ydin lataa vain muutaman sivun kerrallaan todelliseen muistiin. Kun suoritin on valmis toiselle sivulle, se katsoo RAM-muistia. Jos se ei löydä sitä sieltä, tapahtuu sivuvika, ja tämä viestittää ytimen tuovan lisää sivuja RAM-muistiin levyltä.
jos suoritin odottaa dataa oikeasta muistista, suoritinta pidetään edelleen kiireisenä. Jos tietoja tarvitaan levyltä, suoritin on I / O-odotustilassa.
————————————-
L2-välimuisti ja suorituskyky:
L2-välimuisti on nopea muisti,joka tallentaa kopiot useimmin käytetyistä päämuistipaikoista.
ensimmäisessä kuvassa on Power5-järjestelmä, toisessa kuvassa Power6 (tai Power7) – järjestelmä.
Power5-järjestelmissä prosessorisirulla on yksi L2-välimuisti, jonka molemmat ytimet jakavat sirulla. Myöhemmissä palvelimissa (Power6 ja Power7) on erillinen L2-välimuisti jokaiselle ytimelle sirulla. Osion suorituskyky riippuu siitä, kuinka tehokkaasti se käyttää prosessorivälimuistia.
Jos L2-välimuistin häiriöt muihin osioihin ovat vähäisiä, suorituskyky on osiolle paljon parempi. L2-välimuistin jakaminen muiden osioiden kanssa tarkoittaa, että on mahdollista, että prosessorin useimmin käytetyt tiedot huuhdellaan pois välimuistista ja pääsy L3-välimuistista tai päämuistista vie enemmän aikaa.
————————————-
Hakuavaruus (kutsutaan myös Vaihtoavaruudeksi)
RAM ja hakuavaruus on jaettu 4 KB: n osioihin, joita kutsutaan sivukehyksiksi. (Sivu on virtuaalimuistin yksikkö, johon mahtuu 4 KB dataa.) Kun järjestelmä tarvitsee lisää RAM-muistia, tietojen Sivukehykset siirretään RAM-muistista kiintolevylle. Tätä kutsutaan hakulaitteeksi. Kun näitä tiedon sivukehyksiä taas tarvitaan, ne otetaan kiintolevyltä ja siirretään takaisin RAM-muistiin. Tätä kutsutaan hakulaitteeksi.
Kun järjestelmä käyttää enemmän aikaa sekoittaa sivun kehyksiä sisään ja ulos RAM sen sijaan, että tekee hyödyllistä työtä, järjestelmä on thrashing.
kun käytettävissä olevan kaukohakutilan määrä alittaa raja-arvon, jota kutsutaan kaukohakutilan varoitustasoksi, järjestelmä lähettää kaikille prosesseille (lukuun ottamatta ytimen prosesseja) SIGDANGER-signaalin. Tämä signaali kertoo prosessien päättyvän sulavasti. Kun tyhjän hakuavaruuden määrä laskee edelleen alle toisen kynnysarvon, jota kutsutaan hakuavaruuden tappotasoksi, järjestelmä lähettää sigkill-signaalin prosesseille, jotka käyttävät eniten hakuavaruutta. (lopeta nongracefully)
kun AIX on asennettu, se luo automaattisesti hakutilaa asennuslevylle, joka on yleensä kiintolevy hdisk0. Tämän hakuavaruuden nimi on aina hd6. Tiedosto / etc / swapspaces sisältää luettelon hakuavaruusalueista, jotka aktivoidaan järjestelmän käynnistyessä.
swapon on termi ajalta ennen sivukehysten käyttöä. Tuolloin, vuoden 1982 tienoilla, AIX vaihtoi kokonaisia ohjelmia RAM-muistista kiintolevylle. Nykyään osa ohjelmasta jätetään RAM-muistiin, ja loput pagataan ohjelmasta kiintolevylle. Termi swapon jumissa, joten tänään, me joskus viitata hakulaitteet ja hakulaitteet kuin swaping
kun sivu pois laskennan sivu, se jatkaa vie tilaa hakulaitteen niin kauan kuin prosessi on olemassa, vaikka sivu on myöhemmin hakulaitteet takaisin. Yleensä hakulaitteita kannattaa välttää lainkaan.
kuinka paljon hakutilaa tarvitset järjestelmässäsi? Mikä on nyrkkisääntö?
tietokannan ylläpitäjät haluavat yleensä pyytää eniten kaikkea ja saattavat kehottaa tuplaamaan hakutilan määrän RAM-muistina (vanha nyrkkisääntö). Yleisesti ottaen, jos minun järjestelmä on suurempi kuin 4GB RAM, olen yleensä haluavat luoda yksi-To-one suhde hakuaika tilaa vastaan RAM. Tarkkaile järjestelmää usein sen jälkeen, kun menee live. Jos näet, että et ole koskaan todella lähestyy 50 prosenttia hakulaitteen tilan käyttöaste, älä lisää tilaa.
sovellusten määrä ja tyypit määräävät tarvittavan hakutilan määrän. Monia mitoituksia ”nyrkkisäännöistä” on julkaistu, mutta ainoa tapa mitata koneen hakutila oikein on seurata hakutoimintojen määrää.
vinkkejä hakuavaruuteen:
– vain 1 hakuavaruus levyä kohti
– käytä levyjä, joilla on vähiten aktiivisuutta
– Hakuavaruuksien olisi oltava samankokoisia
– ei uloteta hakuavaruuksia useisiin PV: iin
Ihannetapauksessa olisi oltava useita samankokoisia hakuavaruuksia kullekin eri fyysiselle tilavuudelle. Hakutila on jaettu round robin tavalla ja käyttää kaikkia hakualueita tasapuolisesti. Jos sinulla on kaksi hakualuetta yhdellä levyllä, et enää levitä toimintaa useille levyille.Koska round robin tekniikka, jota käytetään, jos ne eivät ole samankokoisia, niin hakulaitteen tilankäyttö ei ole tasapainossa.
bootinfo-r näyttää todellisen muistin kilotavuina (tämä toimii myös: lsattr-El sys0-a realmem)
lscfg-vp |grep-p DIMM näyttää muistin DIMM
lsattr-El sys0-a realmem (list attributes) katso kuinka paljon todellista muistia sinulla on
ps aux | sort +4-n luettelee kuinka paljon mem käyttää prosesseja
svmon-P | grep-p <PID> voit nähdä kuinka paljon hakutoimintoa SPCE prosessi käyttää
svmon-P-O sortseg=pgsp näyttää hakuavaruuden käytön prosesseissa
mkps-S 4-n-a rootvg hdisk0 luo hakuavaruuden (Anna nimi automaattisesti:paging00)
-n aktivoi sen välittömästi,
-a se aktivoituu myös seuraavassa uudelleenkäynnistyksessä (lisää sen /etc/swapspaces)
-s Koko 4 lp
lsps-A-Luettelo kaikista hakuavaruuksista ja hakuavaruuden käyttö
lsps-s yhteenveto kaikista hakuavaruuksista yhteensä (kaikki hakuavaruudet lasketaan yhteen)
chps-s 3 hd6 lisää dynaamisesti hakuavaruuden kokoa 3 lps
chps-d 1 paging00 pienennä hakuavaruuden kokoa dynaamisesti 1 LP: llä (se luo väliaikaisen hakuavaruuden)
/etc/swapspaces sisältää luettelon hakuavaruusalueista
vmstat-s
Smitty mkps lisäämällä hakuavaruutta tila
smitty chps hakuavaruuden vaihtaminen
swapon / dev / paging02 dynaamisesti aktivoi tai tuo verkkoon hakuavaruuden (tai smitty pgsp)
swapoff / dev / paging03 poista hakuavaruus käytöstä
——————————
hakuavaruuden poistaminen:
swapoff / dev / paging03 poista hakuavaruus käytöstä (/dev tarvitaan)
rmps paging03 poistaa hakuavaruuden (/dev ei tarvita)
——————————
hakutilan huuhtelu:
(se näyttää suuren prosenttiosuuden, mutta itse asiassa mikään ei käytä sitä)
1. chps-d 1 hd6 se pienentää hakulaitteen kokoa 1 lp (se luo lämpötilan. haemme tilaa, kuittaan yhteyden…)
(jos VG: ssä ei ole tarpeeksi tilaa, se ei tee sitä)
2. chps-s 1 hd6 lisää hakutilaa alkuperäiseen kokoonsa
——————————
haarukka:
Kun on viesti koskien ei voi haarukoida… se johtuu todennäköisesti alhaisesta hakuavaruudesta
Kun prosessi kutsuu haarukkaa(), käyttöjärjestelmä luo kutsumisprosessin lapsiprosessin.
forkin luoma lapsiprosessi() on eräänlainen kopio kutsumisprosessista. Jotkin palvelinprosessit eli daemonit kutsuvat haarukkaa() muutaman kerran luodakseen itsestään useamman kuin yhden instanssin. Esimerkki tästä on web-palvelin, joka haarautuu valmiiksi, jotta se voi käsitellä tietyn määrän saapuvia yhteyksiä ilman haarukkaa() heti niiden saapuessa.
kun AIX on poissa muistista, se alkaa tappaa prosesseja. Suojaaminen prosessi (esimerkiksi ssh) voi olla tärkeää päästä palvelimen.
tiettyjen prosessien suojaamiseen voidaan käyttää vmo-vaihtoehtoa ”nokilluid”:
1. grep ssh / etc / passwd saada käyttäjätunnus ssh (meidän tapauksessamme se oli 202)
2. VMO-o nokilluid=202 tätä arvoa pienempää käyttäjätunnusta ei tapeta vähäisen sivuavaruuden vuoksi
——————————
Virtual Memory Management:
(Tämä kohta koskee myös 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
root@aix1: / root # vmo-l
NAME CUR DEF BOOT MIN MAX UNIT TYPE
DEPENDENCIES
——————————————————————————–
cpu_scale_memp 8 8 8 1 64 B
——————————————————————————–
data_stagger_interval n/a 161 161 0 4K-1 4KB sivua D
lgpg_regions
——————————————————————————–
D = dynaaminen: voidaan vapaasti muuttaa
b = Bosboot: voidaan muuttaa vain käyttämällä bosboot ja reboot
s = Staattinen: parametria ei voi koskaan muuttaa
R = Reboot: parametria voidaan muuttaa vain käynnistyksen aikana
/ etc/tunables / nextboot <–arvot, joita sovelletaan seuraavaan uudelleenkäynnistykseen. Tämä tiedosto otetaan automaattisesti käyttöön käynnistyksen aikana.
/etc/tunables/lastboot <–syntyy automaattisesti käynnistyksen yhteydessä. Se sisältää parametrit ja niiden arvot viimeisen käynnistyksen jälkeen.
/ etc / tunables / lasboot.loki < — sisältää viimeisen boot-tiedoston luomisen lokin,eli kaikki tehdyt parametrimuutokset kirjataan
VMO-O maxperm%=80 <–asetetaan 80
vmo-P-o maxperm%=80 <– asetetaan maxperm%ja maxclient% 80
(- p: asettaa sekä nykyiset että uudelleenkäynnistysarvot (päivittää nykyisen arvon ja /etc/tunables/nextboot)
vmo-r-o lgpg_size = 0-o lgpg_regions = 0 < — asettaa vain nextboot-tiedoston, joten uudelleenkäynnistyksen jälkeen aktivoidaan
——————————
SAP Note 973227 recommendations:
minperm% = 3
maxperm% = 90
maxclient% = 90
lru_file_repage = 0
strict_maxclient = 1
strict_maxperm = 0
minfree = 960
maxfree = 1088
————————————–
————————————–
————————————–