日経コンピュータ 様の最新記事を見ると、ノベル、“SAP HANA専用OS”新版を提供開始 となっており、早速中身を見てみました。
ノベル様のサイトに「ノベル、SUSE Linux Enterprise Server for SAP Applicationsの最新版を発表」という正式プレスリリースがありますので、これが元ネタですね。SAPアプリケーション向けプラットフォーム製品の新版「SUSE Linux Enterprise Server 11 Service Pack2 for SAP Applications(SLES11SP2 for SAP)の提供が開始されたことが主たる内容です。
主な特徴を正式プレスリリースから抜粋してみました。
<SLES for SAPの特長>
- 容易な導入
OSとSAPアプリケーションのインストールを同時に行うインストーラを搭載され、短時間でSAPの展開が可能 - パフォーマンスの最適化
SAP AGとSUSEの共同検証により、SAPアプリケーションのパフォーマンスを最適化 - SAP HANAを稼動
SAP HANAの専用プラットフォームとして、大容量インメモリデータベースを使用可能にするLinuxカーネルパラメータPage cache limitを搭載 - サポート体制
SAPと連携した保守・サポートにより、SAPとSLES両方の問題について、サービスを一元的に提供
「SAP HANAの専用プラットフォームとしては、大容量インメモリデータベースを使用可能にするLinuxカーネルパラメータ Page cache limitを搭載」というのが掲載されていますが、Novell社の英語の機能紹介ページを見ると、Support for large in-memory workloads というトピックの中で Note 1557506 - Linux paging improvementsにこれに関する記述があるよとあります。(本LINK先閲覧のためには別途SAP社のMarketplace IDが必要です。)
今まですべてのLinux OSで知られていた問題という位置づけでという前置きから始まります。
SAPアプリはビジネスデータを処理するために大量のメモリーを必要することがありますが、アプリ側がメモリーを必要としているにも関わらず、Linuxカーネルが残りのフリーメモリーをそれ以外の用途(例えばPage Cache)で使っていることがあります。
LinuxのPage Cache(他のシステムではFileSystem キャッシュとも呼ばれる)は、ハードディスクから一度読み込んだデータを再度アクセスした場合の速度向上のためにメインメモリー上にデータを保持し、またWriteスループットの改善やディスク書き込みの遅延をカバーするためにファイルシステムへの書き込みをキャッシュしています。
Linux システムはしばらく稼働させているとFreeメモリーが少なくなるというのは、このPage Cache用途でFree メモリーが使われているのが理由で、Free メモリーが十分である限りハードディスクへのアクセスごとにPage Cacheを保持します。またアプリがメモリーを必要としている場合は、自動的にPage Cacheを縮小させるとあります。このあたりの詳細はhttp://linux-mm.org/Low_On_Memory参照のこと。
アプリデータ用の残りメモリー(Free+Page Cache)が少なくなると、Linuxカーネルはその時点でアクティブでない(inactive)メモリー領域をSwapファイル(or パーティション)にページアウトすることを決定します。
Linuxカーネルがどのメモリー領域をページアウトするかは、LRU(Least Recentrly Used)アルゴリズムに基づいて決められ、つまり最近使われたメモリー領域がディスク上に残され、最近使われていないメモリー領域がページアウトされるかもしれないということです。例えばバックアップJOBのようなファイルシステムへの読み込みがあると、Linuxカーネルは最近使われていないという判断でアプリデータ用のメモリー領域をページアウトしたほうがいいとい決定するかもしれないということです。
その結果、既にページアウトされたメモリー領域にアプリがアクセスしようとした場合、ハードディスク上から読み込み直す(Paged Back)する必要があり、結果的に応答時間は劣化します。さらにJava上で稼働するSAPソリューションの場合、Javaヒープで使われている全メモリを対象にしたJavaのガベージコレクションをさらに被ると、激しいページインが伴い、しばらくそのシステムはレスポンスが帰ってこないかもしれません。
このような振る舞いはシステム全体のスループットを確保するという意味でBugではなく、無条件に変更することはできませんが、特定のSAPのワークロードというに対しては次善策は取れるということで、今回Page Cacheで使う領域に制限をつけるためのパラメータが2つ追加されています。
・vm.pagecache_limit_mb (/proc/sys/vm/pagecache_limit_mb)
・vm.pagecache_limit_ignore_dirty (/proc/sys/vm/pagecache_limit_ignore_dirty)
パラメータの設定詳細は、Note 1557506 - Linux paging improvementsを参照ください。
ちなみにこのパラメータは執筆時点(2012/10/15)で、特にHANAという縛りはどこにも記述されていませんので、Javaインスタンスなどメモリー多めのシステム向けにも検討可能な内容かと思います。
長文お読み頂き、ありがとうございました。
追伸:
本機能以外に下記のような機能拡張があり、SAP向けのLinuxということでいろいろ強化されています。
[RELATED_POSTS]
<SLES11SP2 for SAPの主要な機能拡張>
- パフォーマンスの向上
SLES11が最新のLinuxカーネル3.0を提供することで、SAPアプリケーションを最新のハードウェア・プラットフォームで稼動することができCPUおよびメモリへの負荷が高いワークロードの信頼性、拡張性、パフォーマンスを向上 - 仮想化機能
XenやKVMなど最新のハイパーバイザ技術をサポートすることで、ネイティブなワークロードの仮想/クラウド環境への移行を簡略化 - セットアップ
インストールウィザードの機能拡張により、SAP NetWeaver®およびSybaseソリューションの構成およびセットアップがさらに容易 - セキュリティの向上
新たなアンチウイルス・ツールキットの統合により、クロスプラットフォームでの脅威検知を改善 - クラスタリング機能
SAPアプリケーションの可用性を高めるクラスタリング機能「SUSE Linux Enterprise High Availability Extension」を標準搭載
- カテゴリ: SAP情報