メモリについて考えてみよう_REL_

Similar documents
Microsoft PowerPoint - os ppt [互換モード]

Microsoft PowerPoint - No7note.ppt

Microsoft PowerPoint - sp ppt [互換モード]

10-vm1.ppt

Operating System 仮想記憶

Microsoft PowerPoint - os ppt [互換モード]

Microsoft PowerPoint - No6note.ppt

Microsoft PowerPoint - sp ppt [互換モード]

OS

メモリ管理

Microsoft PowerPoint - No15›¼‚z‰L›¯.ppt

メモリ管理

OS

Microsoft PowerPoint mm2

Microsoft PowerPoint - OS12.pptx

Microsoft PowerPoint - OS07.pptx

スライド 1

01-introduction.ppt

Microsoft PowerPoint - OS12.pptx

Microsoft PowerPoint mm

今週の進捗

Microsoft PowerPoint - OS09.pptx

Page1

今さら聞けない!? Oracle入門 ~前編~

検証事例 富士通株式会社

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

今さら聞けない!? Oracle入門 ~後編~

Veritas System Recovery 16 Management Solution Readme

仮想化基礎演習テキスト Ⅰ 第 1.0 版 演習で学ぶ仮想化基礎 ( クライアント仮想化編 ) 九州ラーニングネット株式会社 特定非営利活動法人パソコン整備士協会

Microsoft PowerPoint - OS11.pptx

Microsoft PowerPoint ppt

システム要件 Trend Micro Safe Lock 2.0 SP1 Trend Micro Safe Lock 2.0 SP1 エージェントのシステム要件 OS Client OS Server OS Windows 2000 (SP4) [Professional] (32bit) Wind

ライセンス管理

Windows10の標準機能だけでデータを完全バックアップする方法 | 【ぱそちき】パソコン初心者に教えたい仕事に役立つPC知識

Microsoft Word - nvsi_050110jp_netvault_vtl_on_dothill_sannetII.doc

Silk Central Connect 15.5 リリースノート

変更履歴 項番版数内容更新日 版新規作成 2013 年 11 月 18 日 1

PowerPoint Presentation

Microsoft PowerPoint - install_NGSsokushu_windows(ver2.1).pptx

proventia_site_protector_sp8_sysreq

Trend Micro Safe Lock 2.0 Patch1 管理コンソールのシステム要件 OS Windows XP (SP2/SP3) [Professional] Windows 7 (SP なし /SP1) [Professional / Enterprise / Ultimate] W

システム要件 Trend Micro Safe Lock Trend Micro Safe Lock 2.0 エージェントのシステム要件 OS Client OS Server OS Windows 2000 (SP4) [Professional] (32bit) Windows XP (SP1/

Oracle Data Pumpのパラレル機能

BOM for Windows Ver

アドバンスト・フォーマットディスクのパフォーマンス

Microsoft PowerPoint - Windows10へのアップグレィド.pptx

        ALTIRIS Client Management Suite Upgrade Guide                                 Rev 年6月30日  

無償期間中に Windows10 に アップグレードをお考えのお客様へ 現在 御太助.net で使用している SQL Server のバージョンは Windows10 ではその動作が保証されていません そのため 御太助.net を WIndows10 で使用するにあたっては SQL Server の

Microsoft PowerPoint - ARC2009HashiguchiSlides.pptx

講義計画 1. コンピュータの歴史 1 2. コンピュータの歴史 2 3. コンピュータの歴史 3 4. 論理回路と記憶, 計算 : レジスタとALU 5. 主記憶装置とALU, レジスタの制御 6. 命令セットアーキテクチャ 7. 演習問題 8. パイプライン処理 9. メモリ階層 : キャッシュ

V8_教育テキスト.dot

目次 1 VirtualBoot for Hyper-V とは バックアップを実行するマシンの設定 確認すべきこと SPX によるバックアップ VirtualBoot for Hyper-V を実行するマシンの設定 確

MMUなしプロセッサ用Linuxの共有ライブラリ機構

目次 1. はじめに 用語説明 対象アダプタ P HBA/2P HBAで異なる性能 付録 ( 性能測定環境 ) P HBAでの性能測定環境 P HBAでの性能測定環境 本書の

Windows ログオンサービス インストールマニュアル 2018/12/21 1

Microsoft Word - TS _J Edited3.doc

Microsoft PowerPoint - 11_4-4-5pagerepl.pptx

MAHO Dialer について MAHO Dialer は MAHO-PBX を経由し PC にて着信時に発信者情報をポップアップしたり 着信履歴などから発信操作を行うためのソフトウエアです このガイドでは MAHO Dialer のインストール アップデート 初期設定 使用方法 および アンイン

IBM Internet Security Systems NTFS ファイルシステム必須 一覧の 以後にリリースされた Service Pack (Release 2 等は除く ) は特に記載の無い限りサポートいたします メモリ 最小要件 512MB 推奨要件 1GB 最小要件 9GB 推奨要件

C5

EX AntiMalware v7 クイックセットアップガイド A7QG AHK-JP EX AntiMalware v7 クイックセットアップガイド 本製品の動作環境です OS 下記 OS の 32 ビット 64 ビット (x64) をサポートします Windows 10, 8.1,

PSQL v12 新機能のご紹介 ~ 認証要件変更に伴う運用の見直し ~ 株式会社エージーテック 2015 年 1 月 13 日

Microsoft Word - 楽天㇯ㅩ㇦ㅛIaaSㇵㅼã…fiã‡¹ä»Łæ§Ÿ.doc

21 章のお話

データ移行ツール ユーザーガイド Data Migration Tool User Guide SK kynix Inc Rev 1.01

使用する前に

Arcserve Replication/High Availability 製品の仕組み

スライド 1

独立行政法人 鉄道建設 運輸施設整備支援機構 電子入札システム 初期設定マニュアル 2019 年 4 月

マニュアル訂正連絡票

Microsoft Word - MyWebPortalOffice_Levelup.doc

スライド 1

Veritas System Recovery 16 Management Solution Readme

Microsoft PowerPoint - OS08 [互換モード]

対応 Web サーバ IIS Apache HTTP Server x 環境によるインストール時の Web サーバの検出および利用について詳細は以下製品 Q&A をご覧ください

SP1) Windows SBS 2011 Standard Edition (SP なし または SP1) Windows SBS 2011 Essentials Edition (SP 1) Windows Home Server 2011 (SP 1) Windows Server 2012

Section 16-7 Mac で Windows も使う (Boot Camp) 光学式ドライブ DVD が読み取れる光学式ドライブを使った方がスムーズにインストールできます 光学式ドライブの付 いていない Mac は Windows インストールディスクの ISO イメージデータを使ってもイン

ERDAS IMAGINE における処理速度の向上 株式会社ベストシステムズ PASCO CORPORATION 2015

<4D F736F F D20342E899E D2091E52D81848FAC82D682CC88F8897A2E646F6378>

Microsoft Word LenovoSystemx.docx

2 データをコピーするフォーマットするダウンしたら資料困ったときにはお使いになる前にもくじお使いになる前に...3 フォーマットする...4 macos ~ OS X の場合 5 OS X 以前の場合 7 データをコピーする...9

PowerPoint プレゼンテーション

CR-UK1ソフトウェアユーザーズガイド

特定機能を使用するための追加要件 : インターネットアクセス 解像度によっては ビデオ再生に追加メモリと高度なグラフィックスハードウェアが必要です BitLocker にはトラステッドプラットフォームモジュール (TPM) 1.2 が必要です BitLocker To Go には USB フラッシュ

03 Podium Walkerのインストール方法およびアンインストール .docx

Japanese.p65

Microsoft Word - PCOMM V6.0_FAQ.doc

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

2 / 8 オンデマンドダウンロード機能 を使用するときに次の制約があります 1. インターネットに接続されていない ( オフライン ) 場合は OneDrive エリアのみにあるファイルを開くことはできない 2.OneDrive エリアからダウンロードが完了するまでいくらか待たされるし ( 特に大

検証事例 富士通株式会社

1

アプリケーションから発行された要求が, の両キャッシュでミスヒットした場合, 両キャッシュには同一のデータが格納される. しかし, 最近アクセスされたデータへのアクセス要求は上で処理され, に届くことはない. 従ってでは 最近アクセスされたデータは近い将来再度アクセスされる可能性が低い という通常と

目次 1. はじめに SSL 通信を使用する上での課題 SSL アクセラレーターによる解決 SSL アクセラレーターの導入例 SSL アクセラレーターの効果... 6 富士通の SSL アクセラレーター装置のラインナップ... 8

Windows Server 2016 Hyper-V ストレージQoS機能の強化

PowerPoint プレゼンテーション

fse7_time_sample

Visual Basic Oracle Database 11 Release 1

目次 1. はじめに 用語説明 対象アダプタ P HBA/2P HBA/4P HBA で異なる性能 付録 P HBA での性能測定環境 P HBA での性能測定環境 P

サービス仕様 1. 提供機能一覧楽天クラウド IaaS では以下の機能をユーザに対し提供します 機能名 1 管理コンソール 2 仮想マシン 概要 ユーザが楽天クラウド IaaS の各機能を操作するための Web インターフェースです 以下の全ての機能を操作できます ユーザが占有でき

Transcription:

Agenda はじめに メモリ って何だろう? SQL Server で使うメモリ メモリ関連の設定 メモリ周りのトラブル モニタリング

はじめに 全体のテーマ 本セッションでは SQL Server のメモリを理解するための知識とその挙動を説明します ゴール メモリに関わる知識を整理し わからない単語を無くす 自分の関わるシステムをメモリを切り口に振り返ってみる トラブルが起きたときに何が起きたのか想像できるようになる

メモリ って何だろう? 物理メモリと仮想メモリ 物理メモリと仮想メモリの違いは説明できますか? malloc や new で確保できるメモリはどちらでしょうか? 物理メモリについて 物理メモリはマザーボードに刺さっているあの メモリ 物理メモリの詳細については今回は触れない 内部の動きはハードウェア屋さんへ

メモリ って何だろう? 昔は仮想メモリなんて無かった プログラムが使うメモリ = 物理メモリ ( 少ない ) マルチスレッドで動かすことは稀だった プログラムが OS を暴走させるなんて当たり前だった もう我慢の限界!! もっとメモリが使いたい! プログラム間でメモリのやりくりなんてしたくない! ちょっとくらいマナーが悪いプログラムも許してくれ!

メモリ って何だろう? そこで仮想メモリです プログラムごとに独立した ( 比較的大きな ) メモリ空間 独立しているからプログラム同士が干渉しあわない 物理メモリサイズ以上の大きさの空間を使える OS の動作は保護される 等々のメリットがある 昨今の OS は全て仮想メモリが利用できます

メモリ って何だろう? 仮想メモリとは プロセスごとに用意された仮想のメモリ空間 プロセスは仮想メモリに対して読み書きを行う OS は仮想メモリアドレスを物理メモリアドレスに変換する Windows では 32 ビットの場合 4G が表現上の最大 OS とプロセスでそれぞれ 2GB まで使える

メモリ って何だろう? Address 仮想メモリ Page Director y Page Table 物理メモリ CR3 レジスタ

メモリ って何だろう? 用語 ワーキングセット ページング TLB (Translation Look aside Buffer) ページファイル 説明 プロセスが使っている仮想メモリの内 物理メモリに乗っているメモリページ ワーキングセットの内 あまり使われないメモリをページファイルに書き出す またはページファイルから物理メモリに書き戻す動作 仮想アドレスと物理アドレスの変換テーブルをバッファリングする領域 プロセッサ上に存在する 物理メモリからページアウトされたデータを待避するファイル

メモリ って何だろう? 用語ヒーププール仮想メモリの状態 perfmon 説明 プロセスごとに存在するメモリの 山 メモリ要求を出すと 適宜切り出して使える 戻すと山に残っている隣り合ったメモリのかたまりとくっついて 次の要求に備える Malloc や new で取られる カーネルが持っているメモリの 池 OS やカーネルが使うメモリ ページプールや非ページプールなどがある ページング処理より高いレベルで動作する場合は非ページプールを使う必要がある Committed/Reserved/Free の 3 つがある 利用されている場合は Committed 後から使うので予約しておきたいときは Reserved パフォーマンスカウンタ Windows OS では標準的にパフォーマンス取得に利用される SQL Server のカウンタも取得できる 内部的にはレジストリアクセスし 定期的に計上される値を取得する

SQL Server が使うメモリ Buffer Pool Data Page Cache Plan Cache Lock Sort Mem To Leave Buffer Pool 8kb で管理され メモリ空間の大半を占める Data Page Cache Plan Cache Lock Sort Mem To Leave 8kb で収まらないオブジェクトの管理や非定型な利用が多い Call Stack CLR/Xp

SQL Server が使うメモリ Buffer Pool の管理方法 LRU-K アルゴリズム よく使われるものはメモリ上に残る 8KB の単位で利用される Cache Hit オブジェクトを要求したとき そのオブジェクトがメモリ上にあった Cache Hit!! ディスク I/O を伴わない分 Cache Hit した方が効率がよい

SQL Server が使うメモリ バッファプールとディスク I/O LRU-K アルゴリズムでデータはメモリから追い出される バッファのデータはデータファイルへ書き込まれる 書き込みは Lazywriter が行う Lazywriter 定期的にメモリをチェックし 不必要なデータをファイルに書き出す メモリ不足 (= メモリプレッシャー ) になってくるとチェック間隔が短くなる

SQL Server が使うメモリ 仮想メモリの上限 32 ビットの場合 4G が表現上の最大 2^32 = 4G 32 ビットでは OS とプロセスでそれぞれ 2GB まで使える ユーザ空間を 3GB にすること (4GT) が可能だが非推奨 http://support.microsoft.com/kb/171793/ja ページテーブル不足 プール不足を招く 64 ビットは現時点では事実上の無制限

メモリ関連の設定 起動直後 最大拡張 縮小 最大サイズと最小サイズ Max server memory SQL Server が使うメモリの最大値 Buffer Pool Buffer Pool Buffer Pool Min server memory メモリを縮小していくときの最小値 実は最もメモリが小さいのは起動直後 Min server memory 起動直後は (memory size) < (min server memory) があり得る Max server memory

メモリ関連の設定 32bit で 4GB 以上のメモリを使う設定 /PAEオプションをつけたOS 起動 (bcdeditやboot.ini) Lock Page in Memory 権限 SQL Serverの起動アカウントに権限を付与する AWE 領域を確保するAPI(AllocateUserPhysicalPage) の実行条件となる AWE enabled SQL Server が AWE 領域を使えるように設定 Max server memory の指定 AWE 領域は開放されないので領域確保には上限を設ける http://msdn.microsoft.com/ja-jp/library/ms190673.aspx

メモリ関連の設定 Buffer Pool Data Page Cache Plan Cache Lock Sort AWE Area AWE って何? AWE は Address Windowing Extensions の略で OS に搭載された機能の 1 つ 仮想メモリ空間に Window を作り 物理メモリをマッピングすることで 4GB 以上のメモリを利用できる SQL Server は Data Page Cache しか AWE 領域を使えない

メモリ関連の設定 個人的なお勧め OSもSQL Serverも64bitを利用する Lock Page in Memory 権限を付与する Max server memoryを指定し OSに十分なメモリを残す 十分にシステムテストで叩いて裏付けを取る

メモリ周りのトラブル ワーキングセットのトリミング OS は物理メモリが極端に不足するとワーキングセット (= プロセスが使っている物理メモリ ) を強制的に取り上げる ワーキングセットのトリミング Sqlservr.exe だけではなく 他のプロセスもワーキングセットが減少する 64bitOS でよく発生し パフォーマンス劣化を起こしやすい 回避策 Lock Page in Memory 権限を起動アカウントに与える Max server memory を設定する http://support.microsoft.com/kb/918483/

メモリ周りのトラブル 処理量に対してメモリが不足している 大量のバッファが必要になると SQL Server は lazywriter がデータファイルへバッファを書き出す その結果 バッファだけのデータ参照ができる確率が下がり パフォーマンスが劣化する 一見 I/O のネックに見えることもある 回避策 物理メモリを増やす 不必要なデータスキャンが起きていないか調べてみる システムテストでメモリ不足が起きないか事前にチェックする

モニタリング モニタリングの意義 障害分析 警戒のため何らかのモニタリングが必要 パフォーマンス値は後からは取れない! モニタリング対象 物理メモリの空き容量 SQL Server がどれくらい効率的にメモリを再利用しているか 過度なページングが発生していないか 等々 他にも観点はたくさん http://msdn.microsoft.com/ja-jp/library/ms176018.aspx

モニタリング 監視対象 閾値 説明 Memory: Available Bytes Process(SQL Server): Pages/sec Process(SQL Server): Working set SQL Server: Buffer Manager: Cache Hit Ratio SQL Server: Buffer Manager: Page Life Expectancy OS で Free であると認識されている物理メモリの容量 Sqlservr.exe が秒当たりページングした回数 Sqlservr.exe が使っている物理メモリの容量 90% 以上 Buffer pool でのキャッシュヒット率 高いほどメモリが効率的に使われていることを示す 300 以上 Buffer pool 上にページが乗っている時間 (= ページの寿命 ) 高い方がメモリが効率的に使われていることを示す

モニタリング パフォーマンス値解釈の注意点 閾値超過が起きても必ず問題となるわけではない アプリケーションが性能要件を満たしていれば何の問題もない!! 必要以上に閾値監視にこだわらない ( 一瞬の閾値超過でも影響が少なければ無視で良いはず ) 注意すべき動作 SQL Server はメモリの先読みをするので メモリプレシャーになっていてもキャッシュヒット率が高い場合がある メモリプレッシャーは Page Life Expectancy で行う

まとめ 仮想メモリと物理メモリの違い プロセスが使うのは仮想メモリ OS が物理メモリに変換 SQL Server のメモリコンポーネント Buffer Pool と Mem To Leave メモリ制御のパラメータ Max/min server memory, AWE, Lock Page in Memory よくあるメモリトラブル ページング ワーキングセットのトリミング メモリプレッシャー モニタリングの方法 OS から見たときのカウンタと SQL のカウンタ

まとめ 本セッションで話さなかった / 話せなかったこと SQL Server 内のさらに細かいメモリ割り当ての話 仮想メモリの断片化の話 メモリリークやメモリ破壊の話 OS が持っている特殊なメモリの話 NUMA に関わる話

ご清聴ありがとうございました 何か不明点があれば質問して下さい!