HOME / コンピュータTips / Solaris / zones / Zonesのcpu-cap、memory-cap、swapなどを稼働中に変更する

Date: 2014/07/10 |  このエントリーをはてなブックマークに追加  |  Tags: Solaris, Zones, cpu-cap, memory-cap, swap, 変更, apply

Solaris Zonesのリソース制御方法


スクリーンショット 2014-07-11 13.29.05.png

Solaris 11.2より、zoneadm applyというコマンドがあり、このコマンドを使うことで、稼働中のzoneのzonecfgの設定を反映することができます。

しかし11.1未満(Solaris 10含む)にはapplyはありません。それでも動いてるZoneのリソース設定は可能なのですが、この方法は意外と知られていないようなのでメモしておくことにしました。

確かに動的変更はできるのですが、これらを使った場合にZONEを再起動すると、当然zonecfgの設定に戻るのでzonecfg側も設定する必要があります。

物理メモリの容量の制限値(memory-cap)を動的に変更する

rcapdによって管理されているので、rcapdにコマンドを送ります。

現在使ってる様子は

rcapstat -z 1

で見続けることができます。

サイズを4Gに変更する

sudo rcapadm -z p2vi160.justplayer.ne.jp -m 4096m

制限を外す

sudo rcapadm -z ZONE名 -m 0m

設定変更後の確認は、rcapstat -zで見ていればわかりますが、設定反映には1分ぐらいかかるので気長に見ていてください。

備考:rcapdにはポーリングでZoneがメモリを使いすぎているかどうかチェックしており、完全に溢れるとOut Of Memoryを出したりします。溢れたときの挙動はリソースの設定で異なります。

溢れる直前には、ページスキャナが走っているような気がします(prstatをみて私の推察しているだけで、確定ではありません)。この処理が動き始めると、rcapdがprstatの負荷ランキングにしばしば出場するようになってきます。そうなると全体的にvmstatで見たときに、(mf)minor faultとre(page reclaims)が増え、TLBの置き換えが走り始めて、CPU負荷が跳ね上がります。

このときは全体最適のためにcapをふやすべき。と、言うことになります。仮想メモリマネージャは奥が深いです。

cpu-capを動的に変更する

cpu-capはリソースマネージャー(Project管理)で変更します。

今までcpu-cap設定されていないところに、cpu-cap=80%を設定する

prctl -t privileged -n zone.cpu-cap -v 80 -i zone ゾーン名

cpu-cap設定済みのものを、cpu-cap=50%に変更する

prctl -r -t privileged -n zone.cpu-cap -v 50 -i zone ゾーン名

cpu-cap設定済みのものを、解除する

prctl -x -t privileged -n zone.cpu-cap -i zone ゾーン名

CPUの設定が解除されたかは、

sudo prctl -n zone.cpu-cap `pgrep -z ゾーン名 init`

で、わかります。これが一番エレガントな方法かどうかはわかりませんが。

max-swapのcapを動的に変更する。

swapのcapとcpuのcapは基本的に同じ方法を使います。

今までmax-swapが設定されていないところに、max-swap=12GBを設定する。

sudo prctl -t privileged -n zone.max-swap -v 12G -i zone ゾーン名

max-swap設定済みのものを、max-swap=5GBに変更する。

sudo prctl -r -t privileged -n zone.max-swap -v 6G -i zone ゾーン名

max-swap設定済みのものを、解除する。

sudo prctl -x -t privileged -n zone.max-swap -i zone ゾーン名

max-swapの設定が解除されたかは、

sudo prctl -n zone.max-swap `pgrep -z ゾーン名 init`

で、わかります。これも同様、一番エレガントな方法かどうかはわかりませんが……。

swapの制限をすると実際に使っているswapの値(実際にはメモリを確保している量)が、df -hで見たときのtmpfsの利用量のように見えます。tmpfsとswapが共通だからでしょう。


コンピュータTips/Solaris/zones

Recent Updates

ディスクの不良を確認する(iostat -EnのError等)

ディスク関係のスタックをざっくり書くと次の様になっています 例、SAS Expanderを使う場合、 例、AHCIなどを使う場合、 これらのエラーは、次の様なコマンドで知ることができます。 出力結果例 このなかで、 たとえば、SATAディスクを利用している際に負荷が上がってしまい、ディスクの応答が間に合わないシチュエーションでは、Transport Errorが一気に …
»続きを読む

2017年、新年明けまして、おめでとうございます。

日記/2017年、新年明けまして、おめでとうございます。

新年明けまして、おめでとうございます。今年もよろしくお願いします。 昨年中は、皆様にお世話になりました。 昨年は、コツコツと3年程前から行ってきた改革がある程度完成された年で、この先5年、10年を見据えて、次のフェーズへと進む為の土台が完成した年でもありました。 それにキャッチアップする形で、個々の従業員一同が、役割を自覚し、明確に動けた年であったかと考えています。 …
»続きを読む

RSA鍵認証のみにし、Password認証を無効化する

意外に覚えきれなくて、いつも忘れるので、メモついでに残しておきます。 古いOpenSSHや、SunSSHの場合は、これも無効にします。 ユーザ目線でのザックリとした説明を。OpenSSHではなく別のSSH実装も含めて考えているので、OpenSSHのソースをじっくり読んだわけではないため、間違ってたらすみません。 まず、Password認証を無効にする場合、 PasswordAut …
»続きを読む

Nexus7 2013をMarshmallow(Android 6.0)化

OTAでない方法で。 だいたい ここに書いてある方法 なんだけど、adbなどが一式使えている状態で。 まずは自分の機種のものをダウンロードする。僕のは、 Android 6.0 Marshmallow for Nexus 7 2013 Wi-Fi 。tgzを展開し、zipも解いておく。 まずはboot loaderへ。 bootloader自体のアップデート。一式、updat …
»続きを読む

OS X 10.11 El Capitanで、phpのモジュールインストール

Yosemiteからのアップデートは割と簡単です。なぜならYosemite時に、すでにapache 2.4になり、php 5.5になっているから(笑 アップデート前に、まずはphp.iniとhttpd.confをバックアップしておきましょう きになるなら、hostsとかapache以下全てをバックアップしておいてもいいかも。 後はEl Capitanにアップデートする。 アッ …
»続きを読む

EasyAcc Powerbank PB4000CB

スマフォTips/モバイルバッテリー/モバイルバッテリー製品レビュー/EasyAcc Powerbank PB4000CB

薄型のモバイルバッテリーEasyAcc Powerbank PB4000CBです。 今や、モバイルバッテリーは大型のものが好まれるのか、隙間無く商品があります。20,000mAh越えで、「でけえ!」とか言ってますけど、大きいのを探せば、100Wh(27,000mAh)、200Wh当たり前、探せば500Wh(135,000mAh)とか、もっともっとあるのです。用途がどんどん異なっていくので …
»続きを読む

EC Technology Sports Headsets S10-JWH07B

デバイスTips/Bluetooth/EC Technology Sports Headsets S10-JWH07B

Bluetoothのスポーツヘッドセット、 S10-JWH07B について。 今までブログに記載することはなかったのですが、実は割とBluetoothと言うか無線型のヘッドフォンを沢山持っています。赤外線や独自物、Bluetoothなどいくつもストックを持っていたりします。普通の人からするとマニアです。でも、マニアからみるとそうでもないレベルです。 ただ「ヘッドフォンの音質」というの …
»続きを読む

静岡県内をVPNでつなぐ(割と特殊な例)

静岡というのはある意味特殊な土地で、ほとんどのインターネットプロバイダのPOIは静岡でつながれておらず、NTT西圏内のどこかで繋がっているので、大抵大阪折り返しになる。仮に静岡県内にPOIがあっても、だいたい静岡でルーティングしてないので、やっぱり東京折り返しになってたりする。例え 同じプロバイダを使っていたとしても 。 だから静岡←→静岡のVPNは、静岡←→東京や、静岡←→大阪よりも遅 …
»続きを読む

最新  |  << 前ページ  |  次ページ >>  |  最初