AIX rendszergazdáknak
Memóriahierarchia
a CPU-folyamatok utasításai és adatai a memóriából származnak. A memória több rétegben van.
regiszterek – a felső réteg, ez a nagy sebességű tároló sejtek (tartalmazhat 32-64 bites adatok)
cache – ha az adatok nem találhatók regiszterek akkor nézett a következő szintre, amely cache
L1 cache a fastes legkisebb (általában CPU chip) 32-256 KB
L2 cache, ha a szükséges adatokat nem L1, CPU megpróbálja megtalálni azt L2, ez lehet megabájt méretű (4MB)
L3 cache, ez egy kicsit távolabb, körülbelül 32 MB
RAM – ha a szükséges adatok nem a hardveres gyorsítótárban vannak, akkor a TLB (Translation Lookaside buffer) ellenőrzésre kerül, miután a RAM
TLB – cache a legutóbb használt címek
lemez – Ha a cím nincs a RAM-ban, akkor oldalhiba lép fel, és az adatok a merevlemezről kerülnek letöltésre.
az oldalhiba egy 4KB-os adatoldal lemezről történő betöltésére irányuló kérés.
a keresleti lapozás úgy működik, hogy a kernel egyszerre csak néhány oldalt tölt be a valódi memóriába. Amikor a CPU készen áll egy másik oldalra, a RAM-ra néz. Ha nem találja ott, oldalhiba lép fel, ami jelzi a kernelnek, hogy több oldalt hozzon a RAM-ba a lemezről.
Ha a CPU valós memóriából vár adatokat, akkor a CPU továbbra is foglalt állapotban van. Ha adatra van szükség a lemezről, akkor a CPU I / O várakozási állapotban van.
————————————-
L2 gyorsítótár és teljesítmény:
az L2 gyorsítótár egy gyors memória, amely az adatok másolatát tárolja a leggyakrabban használt fő memóriahelyekről.
Az első kép egy Power5 rendszert, a második kép Power6 (vagy Power7) rendszert mutat.
a Power5 rendszerekben egyetlen L2 gyorsítótár van egy processzor chipen, amelyet a chip mindkét magja megoszt. A későbbi szervereken (Power6 és Power7) külön L2 gyorsítótár van a chip minden egyes magjához. A partíció teljesítménye attól függ, hogy mennyire hatékonyan használja a processzor gyorsítótárát.
Ha az L2 gyorsítótár interferenciája más partíciókkal minimális, akkor a partíció teljesítménye sokkal jobb. Az L2 gyorsítótár megosztása más partíciókkal azt jelenti, hogy fennáll annak az esélye, hogy a processzor leggyakrabban használt adatai kiürülnek a gyorsítótárból, és az L3 gyorsítótárból vagy a fő memóriából történő hozzáférés több időt vesz igénybe.
————————————-
Lapozótér (más néven Lapozótér)
a RAM és a lapozótér 4 KB-os szakaszokra, úgynevezett oldalkeretekre van felosztva. (Az oldal a virtuális memória egysége, amely 4 KB adatot tartalmaz.) Amikor a rendszernek több RAM-ra van szüksége, az információ oldalkeretei a RAM-ból a merevlemezre kerülnek. Ezt hívják lapozásnak. Amikor újra szükség van ezekre az oldalkeretekre, akkor azokat a merevlemezről veszik át, és visszahelyezik a RAM-ba. Ezt hívják lapozásnak.
amikor a rendszer több időt tölt az oldalkeretek keverésével a RAM-ban és a RAM-ban, ahelyett, hogy hasznos munkát végezne, a rendszer összeomlik.
amikor a rendelkezésre álló lapozótér mennyisége egy küszöbérték alá esik, az úgynevezett lapozótér-figyelmeztető szint, a rendszer minden folyamatot (a kernelfolyamatok kivételével) SIGDANGER jelet küld. Ez a jel azt mondja a folyamatoknak, hogy kecsesen záruljanak le. Amikor az üres lapozótér mennyisége tovább esik egy második küszöb alá, az úgynevezett lapozótér kill szint, a rendszer SIGKILL jelet küld azoknak a folyamatoknak, amelyek a legtöbb lapozótéret használják. (véget nongracefully)
amikor AIX telepítve van, akkor automatikusan létrehoz lapozási helyet a telepítő lemezt, amely általában a merevlemez hdisk0. Ennek a lapozótérnek a neve mindig hd6. Az /etc/swapspaces fájl tartalmazza a rendszer indításakor aktivált lapozóterület-területek listáját.
a swapon kifejezés az oldalkeretek használata előtti napokból származik. Abban az időben, 1982 körül, az AIX teljes programokat cserélt ki a RAM-ból a merevlemezre. Ma a program egy része a RAM-ban marad,a többi pedig a programból a merevlemezre kerül. A swapon kifejezés beragadt, így ma néha a lapozást és a lapozást
csereként emlegetjük, miután kihúzott egy számítási oldalt, az továbbra is helyet foglal a lapozófájlban, amíg a folyamat létezik, még akkor is, ha az oldalt később visszahelyezik. Általában el kell kerülni személyhívó egyáltalán.
mennyi lapozási helyre van szüksége a rendszerén? Mi a hüvelykujjszabály?
Az adatbázis-adminisztrátorok általában szeretik a legtöbb mindent kérni, és arra utasíthatják, hogy duplázza meg a lapozási helyet, mint a RAM (a régi ökölszabály). Általánosságban elmondható, hogy ha a rendszerem nagyobb, mint 4 GB RAM-mal rendelkezik, akkor általában szeretek egy-egy arányt létrehozni a lapozóterülettel szemben a RAM-mal szemben. Figyelemmel kíséri a rendszer után gyakran élesben. Ha azt látja, hogy soha nem közelíti meg a lapozási hely kihasználásának 50 százalékát, ne adja hozzá a helyet.
Az alkalmazások száma és típusa határozza meg a szükséges lapozási hely mennyiségét. Számos méretezési “hüvelykujjszabályt” tettek közzé, de a gép lapozási helyének helyes méretének egyetlen módja a lapozási tevékenység mennyiségének figyelemmel kísérése.
Tippek a lapozáshoz:
– lemezenként csak 1 lapozási hely
– a legkevesebb aktivitású lemezeket használja
– a lapozási spcaces-nek azonos méretűnek kell lennie
– ne terjessze ki a lapozási spcae-t több PV-re
ideális esetben több, azonos méretű lapozási térnek kell lennie különböző fizikai köteteken. A lapozási terület kerek robin módon van elosztva, és minden lapozási területet egyenlően fog használni. Ha két lapozási terület van egy lemezen, akkor már nem terjeszti a tevékenységet több lemezen.Az alkalmazott körmérkőzéses technika miatt, ha nem azonos méretűek, akkor a lapozási helyhasználat nem lesz kiegyensúlyozott.
bootinfo-r megjeleníti a valós memória kilobájt (ez is működik: lsattr-El sys0-a realmem)
lscfg-vp |grep-p DIMM megjeleníti a memória DIMM
lsattr-El sys0-a realmem (lista attribútumok) lásd, hogy mennyi valós memória van
ps aux | sort +4-n felsorolja, hogy mennyi mem által használt folyamatok
svmon-P | grep-p <PID> láthatja, hogy egy folyamat mennyi lapozási SPCE-t használ
svmon-p-o sortseg=pgsp megmutatja a folyamatok lapozási helyhasználatát
mkps-s 4-n-a rootvg Hdisk0 létrehoz egy lapozási helyet (adja meg a nevet automatikusan:paging00)
-n azonnal aktiválja,
-a A következő újraindításkor is aktiválódik (hozzáadja az /etc/swapspaces-hez)
– s 4-es méret lp
lsps-a sorolja fel az összes lapozó szóközt és a lapozó szóköz használatát
lsps-s az összes lapozó szóköz összesítése (az összes lapozó szóköz összeadódik)
chps-s 3 hd6 dinamikusan növeli a lapozó tér méretét 3 lps
chps-D 1 paging00 dinamikusan csökkenti a lapozási terület méretét 1 LP-vel (ideiglenes lapozási helyet hoz létre)
/etc/swapspaces tartalmazza a lapozási terület területeinek listáját
vmstat-s
Smitty mkps lapozás hozzáadása space
smitty chps lapozótér módosítása
swapon / dev / paging02 dinamikusan aktiválja vagy online hozza létre a lapozótéret (vagy smitty pgsp)
swapoff /dev/paging03 lapozótér inaktiválása
——————————
lapozótér eltávolítása:
swapoff /dev / paging03 lapozótér deaktiválása (a /dev szükséges)
rmps paging03 lapozótér eltávolítása (a /dev nem szükséges)
——————————
a lapozási tér öblítéséhez:
(magas százalékot mutat, de valójában semmi sem használja)
1. chps – d 1 hd6 ez csökkenti a méret a lapozás spave 1 lp (ez létrehoz egy temp. paging tér, másolja a conntent…)
(ha nincs elég hely a vg-ben, akkor ezt nem fogja megtenni)
2. a chps-s 1 hd6 növeli a lapozási helyet az eredeti méretére
——————————
Villa:
ha van egy üzenet a nem villával kapcsolatban… valószínűleg az alacsony lapozási hely okozza
amikor egy folyamat meghívja a forkot (), az operációs rendszer létrehoz egy gyermekfolyamatot a hívási folyamatból.
a fork() által létrehozott gyermekfolyamat a hívási folyamat egyfajta másolata. Egyes szerverfolyamatok vagy démonok néhányszor felhívják a fork() függvényt, hogy egynél több példányt hozzanak létre magukból. Erre példa egy webszerver, amely előre elágazik, így képes kezelni egy bizonyos számú bejövő kapcsolatot anélkül, hogy érkezéskor villát() kellene tennie.
amikor az AIX-nek nincs memóriája, elkezdi megölni a folyamatokat. Egy folyamat (például ssh) védelme fontos lehet A kiszolgáló eléréséhez.
a ‘nokilluid’ vmo opció használható bizonyos folyamatok védelmére:
1. grep ssh / etc / passwd az ssh felhasználói azonosítójának megszerzése (esetünkben 202 volt)
2. VMO-o nokilluid = az ennél az értéknél alacsonyabb 202 felhasználói azonosító nem pusztul el az alacsony oldaltér miatt
——————————
virtuális memóriakezelés:
(Ez a szakasz az IOO, no, nfso-ra is vonatkozik)
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
név CUR DEF BOOT MIN Max egység TYPE
DEPENDENCIES
——————————————————————————–
cpu_scale_memp 8 8 8 1 64 B
——————————————————————————–
data_stagger_interval n/a 161 161 0 4K-1 4KB oldalak D
lgpg_regions
——————————————————————————–
D = dinamikus: szabadon módosítható
B = Bosboot: csak a bosboot és a reboot használatával módosítható
S = statikus: a paraméter soha nem módosítható
R = Reboot: a paraméter csak a
/etc/tunables/nextboot <rendszerindításkor módosítható–a következő újraindításkor alkalmazandó értékek. Ez a fájl rendszerindításkor automatikusan alkalmazásra kerül.
/etc/tunables/lastboot < –automatikusan generálódik a rendszerindításkor. Ez tartalmazza a paramétereket, azok értékeit az utolsó indítás után.
/etc/tunables/lasboot.log < — tartalmazza a lastboot fájl létrehozásának naplózását, vagyis minden paraméterváltozást naplózunk
vmo-o maxperm%=80 < — 80
VMO-p-o maxperm%=80-o maxclient%=80 < — maxperm% és maxclient% beállítása 80
(- p: beállítja mind az aktuális, mind az újraindítási értékeket (frissíti az aktuális értéket és /etc/tunables/nextboot)
VMO-r-o lgpg_size=0-o lgpg_regions=0 < — csak a nextboot fájlban állítja be, így az újraindítás után aktiválódik
——————————
SAP Megjegyzés 973227 ajánlások:
minperm% = 3
maxperm% = 90
maxclient% = 90
lru_file_repage = 0
strict_maxclient =1
strict_maxperm = 0
minfree = 960
maxfree = 1088
————————————–
————————————–
————————————–