院長のメモ帖
2013年2月 2日 土曜日
Connected StandbyはDisplayRequiredで阻止できる
前回、Windows 8 のConnected StandbyをSetThreadExecutionStateメソッドで止めることができないと書きましたが、やり方がわかりました。
それには、SetThreadExecutionStateメソッドの引数にDisplayRequiredを渡すせば良かったのです。
Windows 7までは、SystemRequiredを渡すとスリープが止まり、DisplayRequiredを渡すとディスプレイの電源OFFを止めることができましたが、Connected StandbyではSystemRequiredは無意味になっているようです。
これに気が付いたのは、コントロールパネルの電源オプションのプラン設定の編集画面を見ているときです。
Windows7では、
Windows 8では、
よくみると、ディスプレイの電源を切る → ディスプレイを暗くする に変更されています。そして詳細の変更に入ると、スリープという項目はなくなっています。
つまり、ディスプレイを暗くするという項目が新設されて、簡易設定画面でスリープ状態にするといっているのは、今までのディスプレイの電源を切るに相当する項目であるということです。
それゆえ、DisplayRequiredをパラメーターに指定するとスリープしなくなったと推測されます。
これは、結構盲点になりそうな変更ですね。OSから見てディスプレイが切れた状態で、デスクトップアプリはスリープに陥るというのは、バッテリーには優しくなる変更でしょうが、一部のアプリが正しく動かなくなるかもしれませんね。
2013年2月 1日 金曜日
Connected StandbyはSetThreadExecutionStateで阻止できない
<追記>
SetThreadExecutionStateにSystemRequiredではなくDisplayRequiredを渡すとConnected Standbyを阻止できました。詳しくはこちらで。
最近、富士通のWindows8防水タブレット、Arrows Tab Wifi QH55を購入しました。このタブレットは、Windows8パソコンとしては最軽量クラスで、しかもお風呂で使えるということで非常に重宝しています。そのうちレビューしようかなと思っていたんですが、自作のプログラムを走らせていてあることに気が付きました。それは、このPCのスリープは、SetThreadExecutionStateメソッドで阻止できないことです。
動作中はスリープしないプログラムを自作していたのですが、Arrows Tabでは、スリープしてしまいます。そこで、Microsoft.Win32.SystemEvents.PowerModeChangedイベントをフックして、電源モードの変化を記録してたうえでスリープボタンを押してみると、他のPCではスリープレジュームイベントが記録されるのに、Arrows Tabでは、このイベントが発生していませんでした。
このPCはWindows8で新しく実装されたConnected Standbyに対応していて、いままでのS3, S4ではなくS0i1、S0i3という待機状態になります。この状態ではOSは動いていてるままだそうです。推測ですが、この状態への移行は今までのスリープとは内部的な動作が全く違うので、ExecutionStateは参照されないと思われます。
Connected Standbyを阻止するには、今まで違うコードが必要なようで、いろいろ調べてみるしかなさそうですね。
SetThreadExecutionStateにSystemRequiredではなくDisplayRequiredを渡すとConnected Standbyを阻止できました。詳しくはこちらで。
最近、富士通のWindows8防水タブレット、Arrows Tab Wifi QH55を購入しました。このタブレットは、Windows8パソコンとしては最軽量クラスで、しかもお風呂で使えるということで非常に重宝しています。そのうちレビューしようかなと思っていたんですが、自作のプログラムを走らせていてあることに気が付きました。それは、このPCのスリープは、SetThreadExecutionStateメソッドで阻止できないことです。
動作中はスリープしないプログラムを自作していたのですが、Arrows Tabでは、スリープしてしまいます。そこで、Microsoft.Win32.SystemEvents.PowerModeChangedイベントをフックして、電源モードの変化を記録してたうえでスリープボタンを押してみると、他のPCではスリープレジュームイベントが記録されるのに、Arrows Tabでは、このイベントが発生していませんでした。
このPCはWindows8で新しく実装されたConnected Standbyに対応していて、いままでのS3, S4ではなくS0i1、S0i3という待機状態になります。この状態ではOSは動いていてるままだそうです。推測ですが、この状態への移行は今までのスリープとは内部的な動作が全く違うので、ExecutionStateは参照されないと思われます。
Connected Standbyを阻止するには、今まで違うコードが必要なようで、いろいろ調べてみるしかなさそうですね。
2013年1月20日 日曜日
Windows 2012ではDFSR回復プロセスが自動で開始されない
ずいぶんと遅くなりましたが、明けましておめでとうございます。
本年もよろしくお願いします。
ずっと、何も書けなかったのには理由があります。
年末年始の休みを使ってサーバーを2008R2から2012へアップグレードしたんですが、休み中に終わらせるつもりがずいぶんと問題が発生して、先週までずっと問題解決に追われていました。
アップグレードそのものは簡単でしたが、2008R2と2012では違う挙動をするところがいくつかあり、その中で特にはまったのが、DFSレプリケーションの回復プロセスです。
Windows 2008R2までは、ファイルサーバーをシャットダウンした時にDFR ReplicationイベントログにID 2212の
とログされて、自動回復が終了します。
ところが、Windows 2012のファイルサーバでは、ID 2213の
Windows Serverのファイルサーバーをシャットダウンすると、割と普通にこのイベントが発生して自動回復していたので、これまではそういうものかと思っていましたが、この挙動の変化のせいで数日DFSレプリケーションが止まったことに気がつかないままほかってしまい、深刻なファイル不整合を起こしてしまいました。
なぜ、既定の動作が変わって自動的に回復プロセスを開始してくれなくなったのかはわかりませんが、このログが出たからには回復プロセスを開始せざるをえませんから自動で開始してくれるように、 HKLM\SYSTEM\CurrentControlSet\Services\DFSR\ParametersのStopReplicationOnAutoRecovery の値を0に変更するようにグループポリシーにて設定しました。
この設定はファイルサーバーだけではなく、SysvolのレプリレーションにDFSRを使っているドメインコントローラーにも関係しており、こちらも同様にレプリケーションが停止していました。
なぜ、動作が変わったんでしょうね。新規インストールしたならともかく、アップグレードしたサーバーにレジストリを書き込んで挙動を変えないでほしいものです。
本年もよろしくお願いします。
ずっと、何も書けなかったのには理由があります。
年末年始の休みを使ってサーバーを2008R2から2012へアップグレードしたんですが、休み中に終わらせるつもりがずいぶんと問題が発生して、先週までずっと問題解決に追われていました。
アップグレードそのものは簡単でしたが、2008R2と2012では違う挙動をするところがいくつかあり、その中で特にはまったのが、DFSレプリケーションの回復プロセスです。
Windows 2008R2までは、ファイルサーバーをシャットダウンした時にDFR ReplicationイベントログにID 2212の
DFS レプリケーション サービスは、ボリューム M: 上で予期しないシャットダウンを 検出しました。これは、このサービスがパワーロスなどの理由によって異常終了した 場合や、ボリューム上でエラーが発生した場合に発生することがあります。サービス は回復プロセスを自動的に開始しました。サービスは確実には回復できないと判断 した場合はデータベースを再構築します。ユーザーによる操作は必要ありません。
というログがでることがあり、自動的に回復プロセスが開始して、しばらくすると、ID 2214の
DFS レプリケーション サービスは、ボリューム M: 上の予期しないシャットダウンから 正常に回復しました。これは、パワーロスなどによってサービスが異常終了した場合 や、ボリューム内でエラーが発生した場合に発生します。ユーザーによる操作は必要 ありません。
とログされて、自動回復が終了します。
ところが、Windows 2012のファイルサーバでは、ID 2213の
DFS レプリケーション サービスは、ボリューム M: における レプリケーションを停止しました。この状況は、DFSR JET データベースが 正常にシャットダウンされず、自動回復が無効になっている場合に発生します。 この問題を解決するには、影響を受けるレプリケート フォルダーの ファイルをバックアップしてから、ResumeReplication WMI メソッドを 使ってレプリケーションを再開します。
というログが出て、ユーザーの指令が出るまで待機してしまいます。Windows Serverのファイルサーバーをシャットダウンすると、割と普通にこのイベントが発生して自動回復していたので、これまではそういうものかと思っていましたが、この挙動の変化のせいで数日DFSレプリケーションが止まったことに気がつかないままほかってしまい、深刻なファイル不整合を起こしてしまいました。
なぜ、既定の動作が変わって自動的に回復プロセスを開始してくれなくなったのかはわかりませんが、このログが出たからには回復プロセスを開始せざるをえませんから自動で開始してくれるように、 HKLM\SYSTEM\CurrentControlSet\Services\DFSR\ParametersのStopReplicationOnAutoRecovery の値を0に変更するようにグループポリシーにて設定しました。
この設定はファイルサーバーだけではなく、SysvolのレプリレーションにDFSRを使っているドメインコントローラーにも関係しており、こちらも同様にレプリケーションが停止していました。
なぜ、動作が変わったんでしょうね。新規インストールしたならともかく、アップグレードしたサーバーにレジストリを書き込んで挙動を変えないでほしいものです。
2012年11月 5日 月曜日
FC岐阜 2012年ホーム最終戦
昨日、FC岐阜のホーム最終戦を観戦してきました。
いつもは、試合開始1時間ぐらい前を目安に行ってますが、さすがに人がたくさん来るだろうと思って2時間前に行ったんですが、すでに駐車場が待ちの状態!。他のスポーツイベントとかぶっていたのもあったようですが、今までの開幕戦や最終戦では考えられない混みようです。
駐車場を確保してゲート前に行くと屋台前はすでに5千人はいるときの混みようです。一時間ぐらい前からいつも観戦しているバックスタンドホーム側の芝生席に中央付近(サポーター陣がいるところの左後ぐらいです)に陣取っているとどんどん人が入ってきます。それでも試合開始時点で7-8千人ぐらいかな~と思っていましたが、試合が始まってもどんどんどんどん人が入ってくるではありませんか!
最終的には、11,119人。すごい人の入りようです。FC岐阜を応援する人達で今日来ることができる人は全員来たんじゃないかな、いろんな意味で厳しい状況のチームを少しでも応援しようという気持ちはみんな同じなんだなと、感じることができました。
あと、久しぶりのデーゲームというのも大きかったと思います。子連れの家族観戦者が非常に多かったです。やっぱり日曜の夜に子連れではサッカー観戦できないので、来年はデーゲーム中心に戻してほしいです。
試合内容は、正直ほとんどの時間押し込まれていて苦しい展開でしたが、絶対にこの大観衆の前で負けられないという守備陣の気合は感じることのできるゲームでした。シュート数も3対8で、この数字が現時点での両チームの勢いの差をそのまま反映しています。サイドから敵陣深くに切り込むことはできていましたが、そこからのアーリークロスがそのままキーパーにキャッチされるケースが多く、ほとんどチャンスメイクできませんでした。1回だけ決定的シーンがありましたが、あれを決めれないのが今季の成績を物語っているのかな...
結局スコアレスドローで最低限のノルマは果たせましたが、この大観衆の前でゴールがぜひともほしかったです。我々サポーターは最大観客動員でチーム存続への願いを見せることができました。選手スタッフ一同にもアウエイの最終戦で残留という結果を何としてでも勝とっていだたきたいです。
残り1試合ですが、100万回のモンテカルロシミュレーションを実行しましたので、載せておきます。町田が引き分けで富山と鳥取が負けましたので、勝ち点35に3チームが並ぶ混沌とした状況に。下位4チームの順位可能性(単位は%)は以下のようになります。
得失点差でかなり差のついている鳥取の上に出ることができましたが、もう最終節は%なんて関係ないですね。勝点を取りさえすれば残留できますので、今年調子が良くプレーオフ進出を決めている横浜から、とにかく勝ち点を奪ってきてください。
いつもは、試合開始1時間ぐらい前を目安に行ってますが、さすがに人がたくさん来るだろうと思って2時間前に行ったんですが、すでに駐車場が待ちの状態!。他のスポーツイベントとかぶっていたのもあったようですが、今までの開幕戦や最終戦では考えられない混みようです。
駐車場を確保してゲート前に行くと屋台前はすでに5千人はいるときの混みようです。一時間ぐらい前からいつも観戦しているバックスタンドホーム側の芝生席に中央付近(サポーター陣がいるところの左後ぐらいです)に陣取っているとどんどん人が入ってきます。それでも試合開始時点で7-8千人ぐらいかな~と思っていましたが、試合が始まってもどんどんどんどん人が入ってくるではありませんか!
最終的には、11,119人。すごい人の入りようです。FC岐阜を応援する人達で今日来ることができる人は全員来たんじゃないかな、いろんな意味で厳しい状況のチームを少しでも応援しようという気持ちはみんな同じなんだなと、感じることができました。
あと、久しぶりのデーゲームというのも大きかったと思います。子連れの家族観戦者が非常に多かったです。やっぱり日曜の夜に子連れではサッカー観戦できないので、来年はデーゲーム中心に戻してほしいです。
試合内容は、正直ほとんどの時間押し込まれていて苦しい展開でしたが、絶対にこの大観衆の前で負けられないという守備陣の気合は感じることのできるゲームでした。シュート数も3対8で、この数字が現時点での両チームの勢いの差をそのまま反映しています。サイドから敵陣深くに切り込むことはできていましたが、そこからのアーリークロスがそのままキーパーにキャッチされるケースが多く、ほとんどチャンスメイクできませんでした。1回だけ決定的シーンがありましたが、あれを決めれないのが今季の成績を物語っているのかな...
結局スコアレスドローで最低限のノルマは果たせましたが、この大観衆の前でゴールがぜひともほしかったです。我々サポーターは最大観客動員でチーム存続への願いを見せることができました。選手スタッフ一同にもアウエイの最終戦で残留という結果を何としてでも勝とっていだたきたいです。
残り1試合ですが、100万回のモンテカルロシミュレーションを実行しましたので、載せておきます。町田が引き分けで富山と鳥取が負けましたので、勝ち点35に3チームが並ぶ混沌とした状況に。下位4チームの順位可能性(単位は%)は以下のようになります。
チーム名 | 予想順位 | 19 | 20 | 21 | 22 |
富山 | 19.66 | 52.1013 | 29.4629 | 18.3671 | 0.0687 |
岐阜 | 20.09 | 29.4879 | 37.9572 | 27.0842 | 5.4707 |
鳥取 | 20.47 | 18.3889 | 29.4985 | 39.1887 | 12.9239 |
町田 | 21.78 | 0.0219 | 3.0814 | 15.36 | 81.5367 |
得失点差でかなり差のついている鳥取の上に出ることができましたが、もう最終節は%なんて関係ないですね。勝点を取りさえすれば残留できますので、今年調子が良くプレーオフ進出を決めている横浜から、とにかく勝ち点を奪ってきてください。
2012年10月26日 金曜日
J2リーグの昇格降格シミュレーション
今年のJ2も残り3試合となり、昇格降格争いとも熾烈になっています。残念ながら、わがFC岐阜は降格争いに加わっていて、どうなることですやら...今のところ、JFLから1チーム昇格する可能性がありますので、J2最下位チームは降格してしまうかもしれません。
そこで、J2リーグの順位を予測してみました。第39節(10/21)までの結果に、残り3試合の得点が1.3のポアソン分布に従うと仮定して100万回モンテカルロシミュレーションをC#で書いて実行しました。その結果は、以下の通りです。昇格、プレーオフ、最下位の単位は%です。
まず、昇格争いを見てみますと、優勝を決めた甲府を除いて、まだまだ混沌としてますね。昇格決定の可能性がまだ8チームあり、プレーオフの3位から6位に入る可能性はなんと11チームもあります。(J1ライセンスの事は考慮してません。あくまでも順位の話です。)
最下位争いは、町田が92%とかなり危険な状態ですね。しかし、次節に町田vs岐阜戦が予定されております。この試合に勝てばFC岐阜の最下位はなくなりますが、もし仮に3-0で町田が勝ったと仮定しますと以下のように予想順位表が変わります。
まだまだ、町田が不利なことに変わりありませんが、FC岐阜の降格可能性が一気に約3倍の17.2%まで上がってしまいます。次節勝利で、残留をスパッと決めてほしいものです。ホーム最終戦は観戦する予定ですが、ここで涙だけはしたくないです。がんばれFC岐阜!
そこで、J2リーグの順位を予測してみました。第39節(10/21)までの結果に、残り3試合の得点が1.3のポアソン分布に従うと仮定して100万回モンテカルロシミュレーションをC#で書いて実行しました。その結果は、以下の通りです。昇格、プレーオフ、最下位の単位は%です。
チーム | 予想順位 | 昇格決定 | プレーオフ | 最下位 |
甲府 | 1 | 100 | ||
京都 | 2.26 | 80.4696 | 19.5272 | |
湘南 | 3.87 | 11.9653 | 83.2777 | |
大分 | 5.24 | 2.8502 | 72.8846 | |
横浜FC | 5.39 | 2.4341 | 68.6012 | |
東京V | 5.74 | 1.1378 | 61.861 | |
千葉 | 5.79 | 1.0964 | 63.678 | |
山形 | 7.57 | 0.0466 | 24.7819 | |
松本 | 9.74 | 3.0657 | ||
岡山 | 10.02 | 1.8979 | ||
栃木 | 10.71 | 0.4243 | ||
北九州 | 11.73 | 0.0005 | ||
水戸 | 12.43 | |||
熊本 | 13.72 | |||
徳島 | 15.48 | |||
草津 | 15.69 | |||
愛媛 | 16.92 | |||
福岡 | 17.76 | |||
富山 | 19.75 | 0.4775 | ||
鳥取 | 19.98 | 1.2341 | ||
岐阜 | 20.3 | 6.1271 | ||
町田 | 21.91 | 92.1613 |
まず、昇格争いを見てみますと、優勝を決めた甲府を除いて、まだまだ混沌としてますね。昇格決定の可能性がまだ8チームあり、プレーオフの3位から6位に入る可能性はなんと11チームもあります。(J1ライセンスの事は考慮してません。あくまでも順位の話です。)
最下位争いは、町田が92%とかなり危険な状態ですね。しかし、次節に町田vs岐阜戦が予定されております。この試合に勝てばFC岐阜の最下位はなくなりますが、もし仮に3-0で町田が勝ったと仮定しますと以下のように予想順位表が変わります。
チーム名 | 予想順位 | 最下位 |
富山 | 19.61 | 1.3559 |
鳥取 | 19.83 | 2.8723 |
岐阜 | 20.76 | 17.2239 |
町田 | 21.74 | 78.5479 |
まだまだ、町田が不利なことに変わりありませんが、FC岐阜の降格可能性が一気に約3倍の17.2%まで上がってしまいます。次節勝利で、残留をスパッと決めてほしいものです。ホーム最終戦は観戦する予定ですが、ここで涙だけはしたくないです。がんばれFC岐阜!