3 lutego, 2022

AIX dla administratorów systemów

hierarchia pamięci
instrukcje i dane przetwarzane przez procesor są pobierane z pamięci. Pamięć jest w kilku warstwach.
Registers – górna warstwa, jest to high speed storage cells (może zawierać dane 32-64 bitowe)
Caches – Jeśli danych nie można znaleźć w rejestrach będzie to szukane w następnym poziomie, którym jest cache
L1 cache fastes najmniejszy (zwykle na chipie procesora) 32-256 KB
L2 cache, jeśli potrzebne dane nie są w L1, CPU próbuje je znaleźć w L2, może to być megabajty wielkości (4MB)
L3 cache, jest nieco dalej, około 32MB
RAM – jeśli potrzebne dane nie znajdują się w buforach sprzętowych to TLB (translation lookaside buffer) zostanie sprawdzone, po RAM
TLB – Cache ostatnio używanych adresów
dysk – Jeśli adres nie znajduje się w pamięci RAM, wtedy wystąpi błąd strony i dane zostaną pobrane z dysku twardego.
Błąd strony to żądanie załadowania strony danych 4KB z dysku.
sposób, w jaki działa stronicowanie popytu, polega na tym, że jądro ładuje tylko kilka stron naraz do prawdziwej pamięci. Gdy procesor jest gotowy na kolejną stronę, patrzy na pamięć RAM. Jeśli nie może go tam znaleźć, pojawia się błąd strony, a to sygnalizuje jądrowi, aby przeniósł więcej stron do pamięci RAM z dysku.
Jeśli procesor oczekuje danych z rzeczywistej pamięci, procesor jest nadal uważany za zajęty. Jeśli dane są potrzebne z dysku, to procesor jest w stanie i / O wait.
————————————-
Pamięć podręczna L2 i wydajność:
pamięć podręczna L2 to szybka pamięć, która przechowuje kopie danych z najczęściej używanych głównych lokalizacji pamięci.

pierwsze zdjęcie przedstawia System Power5, drugie zdjęcie systemu Power6 (lub Power7).
w systemach Power5 istnieje pojedyncza pamięć podręczna L2 na chipie procesora, która jest współdzielona przez oba rdzenie na chipie. W późniejszych serwerach (Power6 i Power7) mają one oddzielną pamięć podręczną L2 dla każdego rdzenia na chipie. Wydajność partycji zależy od tego, jak efektywnie korzysta z pamięci podręcznej procesora.
jeśli zakłócenia pamięci podręcznej L2 z innymi partycjami są minimalne, wydajność jest znacznie lepsza dla partycji. Współdzielenie pamięci podręcznej L2 z innymi partycjami oznacza, że istnieje szansa, że najczęściej dostępne dane procesora zostaną wypłukane z pamięci podręcznej, a dostęp z pamięci podręcznej L3 lub z pamięci głównej zajmie więcej czasu.
————————————-
przestrzeń stronicowania (zwana także przestrzenią wymiany)
PAMIĘĆ RAM i przestrzeń stronicowania są podzielone na 4 KB sekcje zwane ramkami strony. (Strona jest jednostką pamięci wirtualnej, która zawiera 4 KB danych.) Gdy system potrzebuje więcej pamięci RAM, ramki stron informacji są przenoszone z pamięci RAM i na dysk twardy. To się nazywa przywoływanie. Gdy te ramki stron informacji są potrzebne ponownie, są one pobierane z dysku twardego i przenoszone z powrotem do pamięci RAM. To się nazywa przywoływanie.

kiedy system spędza więcej czasu na tasowaniu ramek stron w pamięci RAM i poza nią zamiast wykonywać użyteczną pracę, system jest wbijany.
gdy ilość dostępnej przestrzeni przywoławczej spadnie poniżej progu, zwanego poziomem ostrzegania o przestrzeni przywoławczej, system wysyła wszystkim procesom (z wyjątkiem procesów jądra) sygnał SIGDANGER. Ten sygnał mówi procesom, aby zakończyć się z wdziękiem. Gdy ilość pustej przestrzeni przywoławczej spada poniżej drugiego progu, zwanego poziomem uśmiercenia przestrzeni przywoławczej, system wysyła sygnał SIGKILL do procesów, które używają największej przestrzeni przywoławczej.
gdy AIX jest zainstalowany, automatycznie tworzy miejsce stronicowania na dysku instalacyjnym, którym zwykle jest dysk twardy hdisk0. Nazwa tej przestrzeni przywoławczej to zawsze hd6. Plik / etc / swapspaces zawiera listę obszarów stronicowania, które będą aktywowane podczas uruchamiania systemu.
swapon to termin z czasów poprzedzających użycie ramek strony. W tym czasie, około 1982 roku, AIX zamienił całe programy z pamięci RAM na dysk twardy. Obecnie część programu pozostaje w pamięci RAM, a reszta jest wysyłana z programu na dysk twardy. Termin swapon utknął, więc dzisiaj czasami odnosimy się do stronicowania i stronicowania jako zamiany
Po Stronie strony obliczeń, nadal zajmuje miejsce na pliku stronicowania tak długo, jak proces istnieje, nawet jeśli strona jest później ponownie stronicowana. Ogólnie rzecz biorąc, należy unikać stronicowania w ogóle.
ile miejsca na stronicowanie potrzebujesz w swoim systemie? Jaka jest ogólna zasada?
administratorzy baz danych Zwykle żądają największej liczby wszystkiego i mogą zalecić podwojenie ilości miejsca na stronicowanie jako pamięci RAM (stara zasada). Ogólnie rzecz biorąc, jeśli mój system ma więcej niż 4GB PAMIĘCI RAM, Zwykle lubię tworzyć stosunek miejsca stronicowania jeden do jednego w stosunku do pamięci RAM. Monitoruj swój system często po uruchomieniu. Jeśli widzisz, że nigdy nie zbliżasz się do 50 procent wykorzystania przestrzeni przywoławczej, nie dodawaj tej przestrzeni.
liczba i rodzaje aplikacji będą dyktować ilość potrzebnego miejsca na stronicowanie. Opublikowano wiele „zasad miniaturowania”, ale jedynym sposobem na poprawne rozmiar przestrzeni przywoławczej maszyny jest monitorowanie aktywności przywoławczej.
Wskazówki dotyczące przestrzeni przywoławczej:
– tylko 1 miejsce stronicowania na dysk
– używaj dysków o najmniejszej aktywności
– przestrzenie stronicowania powinny mieć ten sam rozmiar

– nie rozszerzaj spcae stronicowania do wielu PV
idealnie, powinno być kilka przestrzeni stronicowania o jednakowej wielkości każda na różnych woluminach fizycznych. Przestrzeń przywoławcza jest przydzielana w sposób round robin i będzie jednakowo wykorzystywać wszystkie obszary przywoławcze. Jeśli na jednym dysku znajdują się dwa obszary stronicowania, aktywność nie jest już przenoszona na kilka dysków.Ze względu na technikę round robin, który jest używany, jeśli nie są one tej samej wielkości, a następnie wykorzystanie przestrzeni przywoławczej nie będzie zrównoważony.
bootinfo-r wyświetla rzeczywistą pamięć w kilobajtach (działa to również: lsattr-El sys0-a realmem)
LSCFG-vp |grep-P DIMM wyświetla pamięć DIMM
lsattr-El sys0-a realmem (lista atrybutów) zobacz, ile masz rzeczywistej pamięci
ps aux | sort +4-N wyświetla, ile mem jest używane przez procesy
svmon-P | grep-p <PID> możesz zobaczyć, ile SPCE stronicowania używa proces
svmon-P-O sortseg=pgsp pokazuje wykorzystanie przestrzeni stronicowania procesów
MKPS-S 4-N-A rootvg hdisk0 tworzy przestrzeń stronicowania (podaj nazwę automatycznie:
-N aktywuje go natychmiast,
-a zostanie aktywowany również przy następnym restarcie (dodaje go do /etc/swapspaces)
-s size 4 lp
lsps-a lista wszystkich przestrzeni stronicowania i użycie przestrzeni stronicowania
lsps-s podsumowanie wszystkich połączonych przestrzeni stronicowania (wszystkie przestrzenie stronicowania są sumowane)
chps-S 3 hd6 dynamicznie zwiększa rozmiar przestrzeni stronicowania o 3 lps
chps-d 1 paging00 dynamicznie zmniejsz rozmiar przestrzeni stronicowania za pomocą 1 LP (utworzy to tymczasową przestrzeń stronicowania)
/etc/swapspaces zawiera listę obszarów przestrzeni stronicowania
vmstat-S
Smitty MKPS dodawanie stronicowania przestrzeń
Smitty chps zmiana przestrzeni przywoławczej
swapon /dev/paging02 dynamicznie Aktywuj lub Przenieś do trybu online przestrzeń przywoławczą (lub Smitty pgsp)
swapoff /dev / paging03 Dezaktywuj przestrzeń przywoławczą
——————————
usuwanie przestrzeni przywoławczej:
swapoff / dev / paging03 dezaktywuje przestrzeń przywoławczą (potrzebny jest /dev)
rmps paging03 usuwa przestrzeń przywoławczą (potrzebny jest /dev)
——————————
do spłukiwania przestrzeni przywoławczej:
(pokazuje wysoki procent, ale w rzeczywistości nic go nie używa)
1. chps-D 1 hd6 zmniejszy rozmiar spave stronicowania o 1 lp (stworzy temp. miejsce na paging, skopiuj łącznik…)
(jeśli nie ma wystarczająco dużo miejsca w vg, nie zrobi tego)

2. chps-s 1 hd6 zwiększa przestrzeń przywoławczą do pierwotnego rozmiaru
——————————
Fork:
gdy pojawia się komunikat dotyczący cannot fork… prawdopodobnie jest to spowodowane niską przestrzenią stronicowania
, gdy proces wywołuje fork (), system operacyjny tworzy proces potomny procesu wywołującego.
proces potomny utworzony przez fork() jest swego rodzaju repliką procesu wywołującego. Niektóre procesy serwerowe lub demony wywołują fork () kilka razy, aby utworzyć więcej niż jedną instancję. Przykładem tego jest serwer WWW, który wstępnie forkuje, aby mógł obsłużyć określoną liczbę połączeń przychodzących bez konieczności fork () w momencie ich przybycia.
gdy AIX traci pamięć, zaczyna zabijać procesy. Ochrona procesu (na przykład ssh) może być ważna, aby dotrzeć do serwera.
opcja VMO „nokilluid” może być używana do ochrony określonych procesów:
1. grep SSH/etc / passwd otrzymuje identyfikator użytkownika SSH (w naszym przypadku był to 202)
2. VMO-o nokilluid=202 ID użytkownika niższe od tej wartości nie zostaną zabite z powodu małej ilości miejsca na stronie
——————————
zarządzanie pamięcią wirtualną:
(Ta sekcja dotyczy również 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
Nazwa 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 stron D
lgpg_regions
——————————————————————————–
D = Dynamic: można dowolnie zmieniać
B = Bosboot: można zmienić tylko za pomocą bosboot i reboot
S = Static: parametru nie można zmienić
R = Reboot: parametr może być zmieniony tylko podczas bootowania
/etc / tunables / nextboot < — wartości, które mają być zastosowane do następnego restartu. Ten plik jest automatycznie stosowany podczas rozruchu.
/etc/tunables / lastboot <– automatycznie generowane podczas rozruchu. Zawiera parametry wraz z ich wartościami po ostatnim uruchomieniu.
/etc / tunables / lasboot.log <–zawiera zapis wytworzenia pliku lastboot, czyli każda zmiana parametru jest rejestrowana
vmo-o maxperm%=80 <–ustawia na 80
VMO-P-O maxperm%=80-o maxclient%=80 <– ustawia maxperm% i maxclient% na 80
(-p: ustawia zarówno wartości bieżące, jak i reboot (aktualizuje wartość bieżącą oraz / etc / tunables / nextboot)
vmo-r-o lgpg_size=0-o lgpg_regions=0 <–ustawia tylko w pliku nextboot, więc po ponownym uruchomieniu zostanie aktywowany
——————————
Uwaga SAP 973227 zalecenia:
minperm% = 3
maxperm% = 90
maxclient% = 90
lru_file_repage = 0
strict_maxclient =1
strict_maxperm = 0
minfree = 960
maxfree = 1088
————————————–
————————————–
————————————–

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.