mpm設定

サーバがすごく重くなると思って調べてみたらapache2の設定が以下のようになっていた。(Ubuntu)

MaxRequestsPerChildが0なので子プロセスはずっと常駐することになり、最大150個まで増え続けることになる。おかげでHDDのスワップまでいっぱいになっていた。

とりあえずこうして様子見、MaxRequestsPerChildが100なので100のリクエストを処理したら子プロセスは終了し、最大20個までになるはず。

zramテスト

linuxのzramはメモリの一部をスワップとして機能させて、スワップアウトしてきたメモリを圧縮して保存してメモリの効率を上げるツール。
カーネルドライバとして提供されている。

Ubuntu12で実験

インストール

これは起動時に自動で有効にしてくれるツール

インストールされたファイルの確認

serviceコマンドで機能の有効無効を設定できる

スワップは/dev/zramXに作られる。初期サイズはトータルメモリとCPUの個数で決まるみたいだが512Mと1個のCPUだと256Mになるようだ。

https://www.kernel.org/doc/Documentation/blockdev/zram.txt
これによると圧縮効率は2:1位らしいので、メモリの倍以上つくっても意味はないらしい。

/sys/block/zram0以下のファイルにアクセスすることで機能の読み取りや設定ができる。

手動でサイズを変更。スクリプトでサイズ固定になってるので手動でやってみるが失敗

失敗原因不明スルー

Visual C++のデフォルトのマニフェスト

各種IDEでビルドしたときのデフォルトの埋め込みマニフェスト

VC6
マニフェストなし

vc2005 console

vc2008 win32

リンカオプション/MANIFESTUAC:NOにすれば上半分は消える

vc2010 win32

vcruntimeの指定がなくなる。

requestedExecutionLevel level=”asInvoker”がつくとVirtualStoreを利用しなくなる。もともとの意味はInvoker(起動者=起動したプロセス)の実行レベルを引き継ぐということ。これがないとProgram Files下においてファイルを作ったりしたときなどVirtualStoreに保存されるようになる(古いアプリと扱われる)

埋め込みマニフェスト(リソースにRT_MANIFESTとして持つ)の確認はResEditなどでできる。

asInvoker有り無しのexe

Windows10でAlt+Tabを速くする

デフォルトのAlt+Tabが遅いのでクラシックに戻す。
レジストリの以下を値を追加

[Windows]+Tabでも前と同じような操作ができるので変えてもいいだろう

CPU1個でアプリを起動する

たまに古いプログラムなどがスレッドを使っていてCPU1個だと動くけど2個になるとフリーズしたりする場合がある。CPU1個で動かせばうごく。

startコマンドでできる

確認はタスクマネージャのaffinityでできる。

エクスプローラでファイルを選択して表示する

SAMとは

Windowsにおいて、ユーザとグループの設定はレジストリのHKLM\SAM以下に書かれる。でもレジストリから見れない。セキュリティオプションもここにかかれることがあるようだが同上。

SAMはSecurity Account Managerでアカウント情報管理
システムアカウントじゃないと見れない

clipshot 8-3-2015 5-53-17 PM

Systemアカウントでしかアクセスできない。ちなみにファイルはC:\Windows\System32\config\SAMと思われる。

で見れる
このツールはローカルにサーバPSEXESVC.exeを立ち上げてそこから実行する