For systemadministratorer
Hukommelseshierarki
de instruktioner og data, som CPU-processerne er taget fra hukommelsen. Hukommelsen kommer i flere lag.
registre – det øverste lag, det er høj hastighed opbevaring celler (kan indeholde 32-64 bit data)
Caches – hvis data ikke kan findes i registre det vil blive set i det næste niveau, som er cache
L1 cache fastes en mindste (normalt på CPU chip) 32-256 KB
L2 cache, hvis de nødvendige data ikke i L1, CPU forsøger at finde det i L2, kan det være megabyte i størrelse (4MB)
L3 cache, det er lidt mere langt væk, omkring 32MB
RAM – hvis de nødvendige data ikke er i maskinens cacher, vil TLB (Translation Lookaside buffer) blive kontrolleret, efter RAM
TLB – cache af nyligt tilgængelige adresser
disk – Hvis adressen ikke er i RAM, opstår der en sidefejl, og dataene hentes fra harddisken.
en sidefejl er en anmodning om at indlæse en 4 KB dataside fra disken.
den måde, som demand Personsøgning fungerer på, er, at kernen kun indlæser et par sider ad gangen i ægte hukommelse. Når CPU ‘en er klar til en anden side, ser den på RAM’ en. Hvis den ikke kan finde den der, opstår der en sidefejl, og dette signalerer kernen for at bringe flere sider ind i RAM fra disken.
hvis CPU ‘en venter på data fra ægte hukommelse, betragtes CPU’ en stadig som værende i optaget tilstand. Hvis der er behov for data fra disken, er CPU i I / O ventetilstand.
————————————-
L2-Cache og ydeevne:
L2-cache er en hurtig hukommelse, der gemmer kopier af dataene fra de hyppigst anvendte hovedhukommelsessteder.
første billede viser et Strøm5 system, andet billede Strøm6 (eller Strøm7) system.
i Strøm5-systemer er der en enkelt L2-cache på en processorchip, som deles af begge kerner på chippen. I senere servere (Strøm6 og Strøm7) har de separat L2-cache for hver kerne på en chip. Partitionens ydeevne afhænger af, hvor effektivt den bruger processorens cache.
hvis L2-cache-interferens med andre partitioner er minimal, er ydelsen meget bedre for partitionen. Deling af L2-cache med andre partitioner betyder, at der er en chance for, at processorens hyppigst tilgængelige data skylles ud af cachen, og adgang fra L3-cache eller fra hovedhukommelsen vil tage mere tid.
————————————-
Personsøgningsrum (også kaldet bytteplads)
RAM og personsøgningsrum er opdelt i 4 KB sektioner kaldet siderammer. (En side er en enhed af virtuel hukommelse, der indeholder 4 KB data.) Når systemet har brug for mere RAM, flyttes siderammer med information ud af RAM og på harddisken. Dette kaldes Personsøgning. Når disse siderammer med information er nødvendige igen, tages de fra harddisken og flyttes tilbage til RAM. Dette kaldes Personsøgning.
Når systemet bruger mere tid på at blande siderammer ind og ud af RAM i stedet for at udføre nyttigt arbejde, slår systemet.
når mængden af ledig personsøgeplads falder under en tærskel, kaldet advarselsniveauet for personsøgningsrum, sender systemet alle processerne (undtagen kerneprocesserne) et sigdanger-signal. Dette signal fortæller processerne at afslutte yndefuldt. Når mængden af tomt personsøgningsrum falder længere under en anden tærskel, kaldet personsøgningsrumsdræbningsniveauet, sender systemet et sigkill-signal til processer, der bruger det mest personsøgningsrum. (Afslut nongracefully)
når der er installeret, opretter den automatisk personsøgningsplads på installationsdisken, som normalt er harddisken hdisk0. Navnet på dette personsøgningsrum er altid hd6. Filen/etc / bytteområder indeholder en liste over de personsøgningsrumsområder, der aktiveres ved systemstart.
byttepon er et udtryk fra dagene før siderammer blev brugt. På det tidspunkt, omkring 1982, byttet hele programmer ud af RAM og på harddisken. I dag er en del af programmet tilbage i RAM, og resten bliver siddet ud af programmet på harddisken. Udtrykket bytter fast, så i dag henviser vi undertiden til personsøgning og personsøgning som Bytte
Når du har udskrevet en beregningsside, fortsætter den med at tage plads på personsøgningsfilen, så længe processen eksisterer, selvom siden efterfølgende sides ind igen. Generelt bør du undgå Personsøgning overhovedet.
hvor meget personsøgeplads har du brug for på dit system? Hvad er tommelfingerreglen?
databaseadministratorer kan normalt lide at anmode om det højeste antal af alt og kan bede dig om at fordoble mængden af personsøgeplads som din RAM (Den gamle tommelfingerregel). Generelt, hvis mit system har større end 4 GB RAM, vil jeg normalt gerne oprette et en-til-en-forhold mellem personsøgningsrum versus RAM. Overvåg dit system ofte efter at gå live. Hvis du ser, at du aldrig rigtig nærmer dig 50 procent af personsøgningspladsudnyttelsen, skal du ikke tilføje pladsen.
antallet og typer af applikationer vil diktere mængden af personsøgning plads nødvendig. Mange størrelser “tommelfingerregler” er blevet offentliggjort, men den eneste måde at korrekt størrelse på din maskines personsøgeplads er at overvåge mængden af personsøgningsaktivitet.
Tips til personsøgning plads:
– kun 1 personsøgningsrum pr.disk
– brug diske med mindst aktivitet
– Personsøgningsrum skal have samme størrelse
– udvid ikke en personsøgningsspcae til flere PV ‘ er
ideelt set bør der være flere personsøgningsrum af samme størrelse hver på forskellige fysiske volumener. Personsøgningsrummet tildeles på en round robin-måde og vil bruge alle personsøgningsområder ens. Hvis du har to personsøgningsområder på en disk, spreder du ikke længere aktiviteten på tværs af flere diske.På grund af den round robin-teknik, der bruges, hvis de ikke er af samme størrelse, vil brugen af personsøgningsrum ikke blive afbalanceret.
bootinfo-r viser den rigtige hukommelse i kilobyte (dette fungerer også: lsattr-El sys0-a realmem)
lscfg-VP |grep-p DIMM viser hukommelsen DIMM
lsattr-El sys0-a realmem (listeattributter) se, hvor meget reel hukommelse du har
ps | sort +4-n viser, hvor meget mem der bruges af processerne
svmon-p | grep-p <PID> du kan se, hvor meget personsøgningsspce en proces bruger
svmon-p-o sortseg=pgsp viser personsøgningsrum brug af processer
mkps-S 4-N-A rootvg hdisk0 opretter et personsøgningsrum (giv navnet automatisk:paging00)
-N aktiverer det med det samme,
-A det aktiveres også ved næste genstart (tilføjer det til /etc/bytteområder)
-s Størrelse 4 lp
lsps-en liste over alle personsøgningsrum og brugen af et personsøgningsrum
lsps-s oversigt over alle personsøgningsrum kombineret (alle personsøgningsrum tilføjes sammen)
chps-s 3 hd6 Forøg dynamisk størrelsen på et personsøgningsrum med 3 lps
CHPS-d 1 paging00 Formindsk dynamisk størrelsen på et personsøgningsrum med 1 LP (det vil skabe et midlertidigt personsøgningsrum)
/etc/bytteområder indeholder en liste over personsøgningsrumsområderne
vmstat-s
Smitty mkps tilføjelse af personsøgning space
smitty chps ændring af personsøgningsrum
byttepost/dev / paging02 aktiver dynamisk, eller bring online, et personsøgningsrum (eller smitty pgsp)
byttepost/dev / paging03 deaktiver et personsøgningsrum
——————————
fjernelse af et personsøgningsrum:
skift /dev/paging03 deaktiver et personsøgningsrum (/dev er nødvendigt)
rmps paging03 fjerner et personsøgningsrum (/dev er ikke nødvendigt)
——————————
til skylning af personsøgningsrummet:
(Det viser høj procentdel, men faktisk bruger intet det)
1. chps-d 1 hd6 det vil reducere størrelsen på personsøgningsspaven med 1 lp (det vil skabe en temp. sideplads, kopier conntent…)
(hvis ikke nok plads i vg, vil det ikke gøre det)
2. chps – s 1 hd6 øger personsøgningsrummet til dets oprindelige størrelse
——————————
gaffel:
når der er en besked om kan ikke gaffel… det skyldes sandsynligvis lavt personsøgningsrum
Når en proces kalder gaffel (), opretter operativsystemet en underordnet proces i opkaldsprocessen.
børneprocessen oprettet af fork() er en slags kopi af opkaldsprocessen. Nogle serverprocesser eller dæmoner kalder gaffel () et par gange for at skabe mere end en forekomst af sig selv. Et eksempel på dette er en internetserver, der forkaster, så den kan håndtere et bestemt antal indgående forbindelser uden at skulle gaffel() i det øjeblik de ankommer.
når AIKS er ude af hukommelsen, begynder det at dræbe processer. Beskyttelse af en proces (for eksempel ssh) kan være vigtig for at nå serveren.
VMO-indstillingen ‘nokilluid’ kan bruges til at beskytte specifikke processer:
1. at få bruger-id ‘ et til ssh (i vores tilfælde var det 202)
2. vmo-o nokilluid=202 bruger-id ‘ er lavere end denne værdi vil ikke blive dræbt på grund af lav sideplads
——————————
virtuel hukommelsesstyring:
( dette afsnit gælder også for ioo, no, nfso)
vmo-a / egrep “minperm%|maxperm%|maxclient%|lru_file_repage|strict_maxclient|strict_maxperm|minfree|maxfree”
root@aix04: | # vmo-a / grep maksklient
maksklient% = 8
strict_maklient = 1
rod@aks1: / root # vmo-L
navn CUR DEF BOOT min maks enhed TYPE
DEPENDENCIES
——————————————————————————–
cpu_scale_memp 8 8 8 1 64 B
——————————————————————————–
data_stagger_interval n / A 161 161 0 4K-1 4KB sider D
lgpg_regions
——————————————————————————–
D = dynamisk: kan frit ændres
B = Bosboot: kan kun ændres ved hjælp af bosboot og genstart
S = statisk: parameteren kan aldrig ændres
R = genstart: parameteren kan kun ændres under opstart
/etc/tunables / næste start < –værdier, der skal anvendes til næste genstart. Denne fil anvendes automatisk ved opstartstidspunktet.
/etc/tunables / lastboot < –automatisk genereret ved opstart. Den indeholder parametrene med deres værdier efter den sidste opstart.
/ etc/tunables / lasboot.log < — indeholder logning af oprettelsen af lastboot-filen, det vil sige enhver parameterændring, der er foretaget, logges
vmo-o maksperm%=80 < — indstiller til 80
vmo-p-O maksperm% = 80-o maksklient%=80 < — indstiller maksperm% og maksklient% til 80
(- p: indstiller både aktuelle og genstartværdier (opdaterer aktuel værdi og /etc/tunables/næste start)
vmo-r-o lgpg_størrelse=0-o lgpg_regioner=0 < –indstiller kun i næste startfil, så efter genstart vil blive aktiveret
——————————
SAP Note 973227 anbefalinger:
minperm% = 3
maksperm% = 90
maksklient% = 90
lru_file_repage = 0
strict_maksklient =1
strict_maksperm = 0
minfree = 960
maksfree = 1088
————————————–
————————————–
————————————–