Aix for System Administrators
メモリー階層
CPUが処理する命令とデータはメモリーから取得されます。 メモリはいくつかの層で提供されます。
レジスタ-最上層、それは高速ストレージセル(32-64ビットデータを含むことができます)
キャッシュ-データがレジスタで見つけることができない場合、それは次のレベルで見られます、キャッシュ
L1キャッシュfastes最小(通常はCPUチップ上)32-256KB
L2キャッシュ、必要なデータがL1にない場合、CPUはL2でそれを見つけようとしています、それはサイズ(4MB)
L3キャッシュ、それはサイズ(4MB)でメガバイトになることができます。もう少し遠く、約32mb
RAM-ハードウェアキャッシュに必要なデータがない場合は、ram
TLB-最近アクセスしたアドレスのキャッシュ
ディスクの後にtlb(Translation Lookaside buffer) –アドレスがRAMにない場合は、ページフォールトが発生し、データがハードディスクから取得されます。
ページフォールトは、ディスクから4KBのデータページをロードする要求です。
デマンド-ページングが機能する方法は、カーネルが一度に数ページしか実メモリにロードしないことです。 CPUが別のページの準備ができたら、RAMを調べます。 そこに見つからない場合は、ページフォールトが発生し、これはカーネルにディスクからより多くのページをRAMに取り込むように通知します。
CPUが実メモリからのデータを待機している場合、CPUはまだビジー状態であるとみなされます。 ディスクからデータが必要な場合、CPUはI/O待機状態になります。
————————————-
L2キャッシュとパフォーマンス:
L2キャッシュは、最も頻繁に使用されるメインメモリの場所からのデータのコピーを格納する高速メモリです。
最初の画像はPower5システム、2番目の画像はPower6(またはPower7)システムを示しています。
Power5システムでは、プロセッサチップ上に単一のL2キャッシュがあり、チップ上の両方のコアで共有されています。 後のサーバー(Power6とPower7)では、チップ上のコアごとに別々のL2キャッシュがあります。 パーティションのパフォーマンスは、プロセッサキャッシュをどの程度効率的に使用しているかに依存します。
他のパーティションとのL2キャッシュの干渉が最小限の場合、パーティションのパフォーマンスがはるかに向上します。 他のパーティションとL2キャッシュを共有することは、プロセッサの最も頻繁にアクセスされるデータがキャッシュからフラッシュされ、L3キャッ
————————————-
ページング領域(スワップ領域とも呼ばれます)
RAMとページング領域は、ページフレームと呼ばれる4KBのセクションに分割されます。 (ページは、4KBのデータを保持する仮想メモリの単位です。)システムがより多くのRAMを必要とするとき、情報のページフレームはRAMからそしてハードディスクに動く。 これはページングアウトと呼ばれます。 情報のそれらのページフレームが再度必要とされるとき、ハードディスクから取られ、RAMに戻って動く。 これはページングインと呼ばれます。
システムが有用な作業を行う代わりにRAMの内外でページフレームをシャッフルするのに多くの時間を費やすと、システムはスラッシングしています。
利用可能なページング領域の量がページング領域警告レベルと呼ばれるしきい値を下回ると、システムはすべてのプロセス(カーネルプロセスを除く)にSIGDANGERシグナルを送信する。 このシグナルは、プロセスが正常に終了するように指示します。 空のページング-スペースの量が、ページング-スペース-キル-レベルと呼ばれる第二のしきい値をさらに下回ると、システムは最もページング-スペースを使用してい (nongracefully終了)
AIXがインストールされると、通常はハードディスクhdisk0であるインストール-ディスク上にページング-スペースが自動的に作成されます。 このページングスペースの名前は常にhd6です。 ファイル/etc/swapspacesには、システムの起動時にアクティブ化されるページング-スペース領域のリストが含まれています。
swaponは、ページフレームが使用される前の日からの用語です。 当時、1982年頃、AIXはプログラム全体をRAMからハードディスクに交換しました。 今日では、プログラムの一部はRAMに残され、残りはハードディスクにプログラムからページアウトされます。 Swaponという用語は立ち往生しているので、今日では、ページングアウトとページングインをスワッピングと呼ぶことがあります
計算ページをページアウトすると、ページングファイル上のスペースを占有し続けます。 一般的には、ページングをまったく避けるべきです。
システムにはどのくらいのページングスペースが必要ですか? 経験則とは何ですか?
データベース管理者は通常、すべての最大数を要求するのが好きで、RAMとしてページングスペースの量を倍にするように指示するかもしれません(古い経験則)。 一般的に言えば、私のシステムに4GB以上のRAMがある場合、私は通常、ページングスペースとRAMの1対1の比率を作成したいと考えています。 ライブに行った後、頻繁にシステムを監視します。 実際にページング領域の使用率の50%に近づいていないことがわかった場合は、領域を追加しないでください。
アプリケーションの数と種類によって、必要なページングスペースの量が決まります。 多くのサイジング”経験則”が公開されていますが、マシンのページングスペースを正しくサイズ設定する唯一の方法は、ページングアクティビティの量を
ページングスペースのヒント:
-ディスクごとに1つのページングスペースのみ
-アクティビティが最も少ないディスクを使用
-ページングspcacesは同じサイズでなければなりません
-ペー ページング領域はラウンドロビン方式で割り当てられ、すべてのページング領域を均等に使用します。 1つのディスクに2つのページング領域がある場合は、複数のディスクにアクティビティが分散されなくなります。ラウンドロビン手法が使用されているため、サイズが同じでない場合、ページング領域の使用量はバランスされません。Lsattr-El sys0-a realmem)
LSCFG-vp|grep-p DIMMメモリDIMMを表示
lsattr-El sys0-a realmem(リスト属性)持っている実メモリの量を参照してください
ps aux|sort+4-nプロセスで使用されているmemの量を一覧表示
svmon-P|grep-p<pid
svmon-P-o sortseg=pgspは、プロセスのページングスペースの使用量を示します
mkps-S4-n-A rootvg hdisk0は、ページングスペースを作成します(自動的に名前を付けます:paging00)
-nすぐにアクティブ化し、
-a次の再起動時にもアクティブ化されます(/etc/swapspacesに追加します)
-s size4lp
lsp-aすべてのページングスペースとページングスペースの使用法を一覧表示
lsp-sすべてのページングスペースの要約(すべてのページングスペースが一緒に追加されます)
chps-s3hd6 3lpsでページングスペースのサイズを動的に増加させます
chps-d1paging00 1lpでページングスペースのサイズを動的に縮小します(一時的なページングスペースを作成します)
/etc/swapspacesページングスペースのリストが含まれていますareas
vmstat-s
smitty mkpsページングを追加する スペース
smitty chpsページングスペースの変更
swapon/dev/paging02ページングスペース(またはsmitty pgsp)を動的に有効にするか、オンラインにする
swapoff/dev/paging03ページングスペースを無効にする
——————————
ページング-スペースを削除する:
swapoff/dev/paging03ページング-スペースを無効にする(/devが必要です)
rmps paging03ページング-スペースを削除する(/devは必要ありません)
——————————
ページングスペースをフラッシュするために:
(それは高い割合を示していますが、実際には何もそれを使用していません)
1。 chps-d1hd6これは、ページングスペーブのサイズを1lp減少させます(それはtempを作成します。 ページングスペース、conntentをコピーします。..)
(vgに十分なスペースがない場合、それはしません)
2. chps-s1hd6ページングスペースを元のサイズに増やします
——————————
Fork:
cannot forkに関するメッセージがある場合。.. これはおそらく、プロセスがfork()を呼び出すと、オペレーティングシステムが呼び出し元のプロセスの子プロセスを作成するページングスペース
が低
fork()によって作成された子プロセスは、呼び出し元のプロセスのレプリカの一種です。 いくつかのサーバープロセスやデーモンは、fork()を数回呼び出して、自分自身の複数のインスタンスを作成します。 これの一例は、到着した瞬間にfork()することなく、特定の数の着信接続を処理できるように事前にフォークするwebサーバーです。
AIXがメモリ不足の場合、プロセスの強制終了を開始します。 プロセス(sshなど)を保護することは、サーバーに到達するために重要な場合があります。
vmoオプション’nokilluid’は、特定のプロセスを保護するために使用できます。
1. grep ssh/etc/passwd sshのユーザー idを取得します(私たちの場合は202でした)
2。 vmo-o nokilluid=202この値よりも低いユーザー idは、ページスペースが不足しているため強制終了されません
——————————
仮想メモリ管理:
(このセクションは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_memp8 8 8 1 64B
——————————————————————————–
data_stagger_interval n/a161 0 4K-1 4KBページD
lgpg_regions
——————————————————————————–
D=動的:自由に変更することができます
B=Bosboot:bosbootとrebootを使用してのみ変更することができます
S=静的:パラメータは変更することはできません
R=Reboot: このパラメータは、ブート時にのみ変更できます
/etc/tunables/nextboot<–次の再起動に適用される値。 このファイルは、起動時に自動的に適用されます。
/etc/tunables/lastboot<–起動時に自動的に生成されます。 これには、最後の起動後の値を含むパラメータが含まれています。
/etc/tunables/lasboot.log<–lastbootファイルの作成のログを含む、つまり、行われたパラメータ変更がログに記録されます
vmo-o maxperm%=80<–80に設定vmo-p-o maxperm%=80-o maxclient%=80<–maxperm%とmaxclient%を80に設定
(-p: 現在と再起動の両方の値を設定します(現在の値と/etc/tunables/nextbootを更新します)
vmo-r-o lgpg_size=0-o lgpg_regions=0<–nextbootファイルにのみ設定するので、再起動後にアクティ
——————————
SAPノート973227推奨事項:
minperm%=3
maxperm%=90
maxclient%=90
lru_file_repage=0
strict_maxclient=1
strict_maxperm=0
minfree=960
maxfree= 1088
————————————–
————————————–
————————————–