事象の水平線

個人的ブックマーク代わりなメモ書きブログ。 地球は丸いよ。↓このへん。

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop
サクラエディタを試したが、やはりk2Editorに戻ってきた自分用メモ
(ドキュメント読まず解析。どこに書いてあるのかな?)

k2Editor1.5.9の設定ファイルの構造
アプリのルート\Setting\ 各種デフォルトの設定
 └ その他 > ファイルタイプ別の設定 から読み込める

アプリのルート\user\ ユーザー設定
 └ FSet[0-9]+\.ini ファイルタイプ別設定の.ini
 └ FSet[0-9]+\.fbd ファイルタイプ別設定の専用ファイル (テキストでは読めない)

.hilファイルにテキストで以下の記述でキーワードファイルが作れる
 ファイルタイプ別の設定 > 強調表示 > 読込 で読み込める

一行目 VERSION=1.4
二行目以降
色番号,大文字小文字の区別(0=true),単語の検索,あいまい検索,正規表現,個目のグループにのみ色づけ,キーワード
大文字小文字の区別 以外は 0=false 1=true
個目のグループにのみ色づけは 個目の数

色番号は
強調表示
1~6 が 17~22
7~10 が 44~47
行の強調
1~6 が 23~28

AutoHotKey用キーワードファイル.hil
VERSION=1.4
17,1,0,0,0,0,#Include
17,1,0,0,0,0,#IncludeAgain
17,1,0,0,0,0,{
17,1,0,0,0,0,}
17,1,1,0,0,0,If
17,1,1,0,0,0,var
17,1,1,0,0,0,not
17,1,1,0,0,0,between
17,1,1,0,0,0,and
17,1,1,0,0,0,in
17,1,1,0,0,0,contains
17,1,1,0,0,0,IfInString
17,1,1,0,0,0,IfNotInString
17,1,1,0,0,0,is
17,1,0,0,0,0,#IfWinActive
17,1,0,0,0,0,#IfWinNotActive
17,1,0,0,0,0,#IfWinExist
17,1,0,0,0,0,#IfWinNotExist
17,1,1,0,0,0,IfWinActive
17,1,1,0,0,0,IfWinNotActive
17,1,1,0,0,0,IfWinExist
17,1,1,0,0,0,IfWinNotExist
17,1,1,0,0,0,IfExist
17,1,1,0,0,0,IfNotExist
17,1,1,0,0,0,IfMsgBox
17,1,1,0,0,0,Else
17,1,1,0,0,0,while
17,1,1,0,0,0,Loop
17,1,1,0,0,0,Loop
17,1,1,0,0,0,Loop,PARSE
17,1,1,0,0,0,Loop,READ
17,1,1,0,0,0,Loop
17,1,1,0,0,0,Break
17,1,1,0,0,0,Continue
17,1,1,0,0,0,Goto
17,1,1,0,0,0,Gosub
17,1,1,0,0,0,IsLabel
17,1,1,0,0,0,IsFunc
17,1,1,0,0,0,Return
17,1,1,0,0,0,Hotkey
17,1,1,0,0,0,SetTimer
17,1,1,0,0,0,Menu
17,1,1,0,0,0,OnExit
17,1,1,0,0,0,OnMessage
17,1,1,0,0,0,Sleep
17,1,1,0,0,0,Suspend
17,1,1,0,0,0,Pause
17,1,1,0,0,0,Thread
17,1,1,0,0,0,Critical
17,1,1,0,0,0,Exit
17,1,1,0,0,0,ExitApp
17,1,1,0,0,0,DllCall
17,1,1,0,0,0,NumGet
17,1,1,0,0,0,NumPut
17,1,1,0,0,0,RegisterCallback

18,1,0,0,0,0,#NoTrayIcon
18,1,1,0,0,0,InputBox
18,1,1,0,0,0,MsgBox
18,1,1,0,0,0,IfMsgBox
18,1,1,0,0,0,FileSelectFile
18,1,1,0,0,0,FileSelectFolder
18,1,1,0,0,0,Progress
18,1,1,0,0,0,SplashImage
18,1,1,0,0,0,SplashTextOn
18,1,1,0,0,0,SplashTextOff
18,1,1,0,0,0,ToolTip
18,1,1,0,0,0,TrayTip
18,1,1,0,0,0,Menu
18,1,1,0,0,0,GUI
18,1,1,0,0,0,Gui,Add
18,1,1,0,0,0,Gui,Add,Text
18,1,1,0,0,0,Gui,Add,Edit
18,1,1,0,0,0,Gui,Add,UpDown
18,1,1,0,0,0,Gui,Add,Hotkey
18,1,1,0,0,0,Gui,Add,Picture
18,1,1,0,0,0,Gui,Add,GroupBox
18,1,1,0,0,0,Gui,Add,Button
18,1,1,0,0,0,Gui,Add,Checkbox
18,1,1,0,0,0,Gui,Add,Radio
18,1,1,0,0,0,Gui,Add,DropDownList
18,1,1,0,0,0,Gui,Add,ComboBox
18,1,1,0,0,0,Gui,Add,ListBox
18,1,1,0,0,0,Gui,Add,ListView
18,1,1,0,0,0,Gui,Add,TreeView
18,1,1,0,0,0,Gui,Add,Slider
18,1,1,0,0,0,Gui,Add,Progress
18,1,1,0,0,0,Gui,Add,DateTime
18,1,1,0,0,0,Gui,Add,MonthCal
18,1,1,0,0,0,Gui,Add,Tab
18,1,1,0,0,0,Gui,Add,StatusBar
18,1,1,0,0,0,Gui,Tab
18,1,1,0,0,0,Gui,ListView
18,1,1,0,0,0,Gui,TreeView
18,1,1,0,0,0,Gui,Menu
18,1,1,0,0,0,Gui,Color
18,1,1,0,0,0,Gui,Font
18,1,1,0,0,0,Gui,Margin
18,1,1,0,0,0,Gui,Show
18,1,1,0,0,0,Gui,Flash
18,1,1,0,0,0,Gui,Submit
18,1,1,0,0,0,Gui,Cancel
18,1,1,0,0,0,Gui,Hide
18,1,1,0,0,0,Gui,Maximize
18,1,1,0,0,0,Gui,Minimize
18,1,1,0,0,0,Gui,Restore
18,1,1,0,0,0,Gui,Destroy
18,1,1,0,0,0,Gui,+Option
18,1,1,0,0,0,Gui,-Option
18,1,1,0,0,0,Gui,Default
18,1,1,0,0,0,GuiEscape:
18,1,1,0,0,0,GuiClose:
18,1,1,0,0,0,GuiSize:
18,1,1,0,0,0,GuiDropFiles:
18,1,1,0,0,0,GuiContextMenu:
18,1,1,0,0,0,GuiControl
18,1,1,0,0,0,GuiControlGet
18,1,1,0,0,0,OnMessage

19,1,0,0,0,0,#MaxMem
19,1,1,0,0,0,DllCall
19,1,1,0,0,0,VarSetCapacity
19,1,1,0,0,0,SetFormat
19,1,1,0,0,0,SetEnv
19,1,1,0,0,0,EnvGet
19,1,1,0,0,0,EnvSet
19,1,1,0,0,0,EnvAdd
19,1,1,0,0,0,EnvSub
19,1,1,0,0,0,EnvMult
19,1,1,0,0,0,EnvDiv
19,1,1,0,0,0,Random
19,1,1,0,0,0,Transform
19,1,1,0,0,0,Abs
19,1,1,0,0,0,Ceil
19,1,1,0,0,0,Floor
19,1,1,0,0,0,Round
19,1,1,0,0,0,Sqrt
19,1,1,0,0,0,Exp
19,1,1,0,0,0,Log
19,1,1,0,0,0,Ln
19,1,1,0,0,0,Mod
19,1,1,0,0,0,Sin
19,1,1,0,0,0,Cos
19,1,1,0,0,0,Tan
19,1,1,0,0,0,ASin
19,1,1,0,0,0,ACos
19,1,1,0,0,0,ATan
19,1,0,0,0,0,:=
19,1,0,0,0,0,+=
19,1,0,0,0,0,-=
19,1,0,0,0,0,*=
19,1,0,0,0,0,/=
19,1,0,0,0,0,//=
19,1,0,0,0,0,.=
19,1,0,0,0,0,|=
19,1,0,0,0,0,&=
19,1,0,0,0,0,^=
19,1,0,0,0,0,>>=
19,1,0,0,0,0,<<=
19,1,0,0,0,0,++
19,1,0,0,0,0,--
19,1,0,0,0,0,,
19,1,0,0,0,0,.
19,1,0,0,0,0,-
19,1,0,0,0,0,+
19,1,0,0,0,0,-
19,1,0,0,0,0,*
19,1,0,0,0,0,/
19,1,0,0,0,0,//
19,1,0,0,0,0,**
19,1,0,0,0,0,~
19,1,0,0,0,0,|
19,1,0,0,0,0,&
19,1,0,0,0,0,^
19,1,0,0,0,0,>>
19,1,0,0,0,0,<<
19,1,0,0,0,0,!
19,1,1,0,0,0,not
19,1,0,0,0,0,||
19,1,1,0,0,0,or
19,1,0,0,0,0,&&
19,1,1,0,0,0,and
19,1,0,0,0,0,?:
19,1,0,0,0,0,>
19,1,0,0,0,0,<
19,1,0,0,0,0,>=
19,1,0,0,0,0,<=
19,1,0,0,0,0,=
19,1,0,0,0,0,==
19,1,0,0,0,0,!=
19,1,0,0,0,0,&
19,1,0,0,0,0,*

20,1,1,0,0,0,RegExMatch
20,1,1,0,0,0,RegExReplace
20,1,1,0,0,0,StringCaseSense
20,1,1,0,0,0,SetFormat
20,1,1,0,0,0,SetEnv
20,1,1,0,0,0,EnvSet
20,1,1,0,0,0,If
20,1,1,0,0,0,IfInString
20,1,1,0,0,0,IfNotInString
20,1,1,0,0,0,Loop,PARSE
20,1,1,0,0,0,StringLower
20,1,1,0,0,0,StringUpper
20,1,1,0,0,0,StringLeft
20,1,1,0,0,0,StringRight
20,1,1,0,0,0,StringTrimLeft
20,1,1,0,0,0,StringTrimRight
20,1,1,0,0,0,StringMid
20,1,1,0,0,0,StringLen
20,1,1,0,0,0,StringGetPos
20,1,1,0,0,0,StringReplace
20,1,1,0,0,0,StringSplit
20,1,1,0,0,0,Sort
20,1,1,0,0,0,FormatTime
20,1,1,0,0,0,Asc
20,1,1,0,0,0,Chr
20,1,1,0,0,0,StrLen
20,1,1,0,0,0,InStr

21,1,0,0,0,0,#InstallKeybdHook
21,1,1,0,0,0,SetKeyDelay
21,1,1,0,0,0,SendMode
21,1,1,0,0,0,SetStoreCapslockMode
21,0,0,0,1,0,Set[Caps|Num|Scroll]LockState
21,1,1,0,0,0,BlockInput
21,1,1,0,0,0,Hotkey
21,1,1,0,0,0,GetKeyState
21,1,1,0,0,0,GetKeyState
21,1,1,0,0,0,Input
21,1,1,0,0,0,KeyWait
21,1,1,0,0,0,ControlSend
21,1,1,0,0,0,Send
21,1,1,0,0,0,SendRaw
21,1,1,0,0,0,SendEvent
21,1,1,0,0,0,SendInput
21,1,1,0,0,0,SendPlay

21,1,0,0,0,0,#InstallMouseHook
21,1,1,0,0,0,SetDefaultMouseSpeed
21,1,1,0,0,0,SetMouseDelay
21,1,1,0,0,0,SendMode
21,1,1,0,0,0,BlockInput
21,1,1,0,0,0,MouseGetPos
21,1,1,0,0,0,MouseMove
21,1,1,0,0,0,MouseClick
21,1,1,0,0,0,MouseClickDrag
21,1,1,0,0,0,Click
21,1,1,0,0,0,ControlClick

22,1,1,0,0,0,RunAs
22,1,1,0,0,0,Run
22,1,1,0,0,0,RunWait
22,1,1,0,0,0,Process
22,1,1,0,0,0,Shutdown

44,1,0,0,0,0,#WinActivateForce
44,1,1,0,0,0,DetectHiddenWindows
44,1,1,0,0,0,DetectHiddenText
44,1,1,0,0,0,SetTitleMatchMode
44,1,1,0,0,0,SetWinDelay
44,1,1,0,0,0,IfWinActive
44,1,1,0,0,0,IfWinNotActive
44,1,1,0,0,0,IfWinExist
44,1,1,0,0,0,IfWinNotExist
44,1,1,0,0,0,WinExist
44,1,1,0,0,0,WinActive
44,1,1,0,0,0,WinWait
44,1,1,0,0,0,WinWaitActive
44,1,1,0,0,0,WinWaitNotActive
44,1,1,0,0,0,WinWaitClose
44,1,1,0,0,0,WinGet
44,1,1,0,0,0,WinGetTitle
44,1,1,0,0,0,WinGetText
44,1,1,0,0,0,WinGetClass
44,1,1,0,0,0,WinGetPos
44,1,1,0,0,0,WinGetActiveTitle
44,1,1,0,0,0,WinGetActiveStats
44,1,1,0,0,0,WinActivate
44,1,1,0,0,0,WinActivateBottom
44,1,1,0,0,0,WinHide
44,1,1,0,0,0,WinShow
44,1,1,0,0,0,WinClose
44,1,1,0,0,0,WinKill
44,1,1,0,0,0,WinMove
44,1,1,0,0,0,WinMaximize
44,1,1,0,0,0,WinMinimize
44,1,1,0,0,0,WinMinimizeAll
44,1,1,0,0,0,WinMinimizeAllUndo
44,1,1,0,0,0,WinRestore
44,1,1,0,0,0,WinSet
44,1,1,0,0,0,WinSetTitle

44,1,1,0,0,0,GroupAdd
44,1,1,0,0,0,GroupActivate
44,1,1,0,0,0,GroupClose
44,1,1,0,0,0,GroupDeactivate

44,1,1,0,0,0,StatusBarWait
44,1,1,0,0,0,StatusBarGetText

44,1,1,0,0,0,SetControlDelay
44,1,1,0,0,0,ControlGet
44,1,1,0,0,0,ControlGetFocus
44,1,1,0,0,0,ControlGetPos
44,1,1,0,0,0,ControlGetText
44,1,1,0,0,0,Control
44,1,1,0,0,0,ControlFocus
44,1,1,0,0,0,ControlMove
44,1,1,0,0,0,ControlSetText
44,1,1,0,0,0,ControlClick
44,1,1,0,0,0,ControlSend
44,1,1,0,0,0,SendMessage
44,1,1,0,0,0,PostMessage
44,1,1,0,0,0,WinMenuSelectItem

45,1,1,0,0,0,SoundGet
45,1,1,0,0,0,SoundSet
45,1,1,0,0,0,SoundGetWaveVolume
45,1,1,0,0,0,SoundSetWaveVolume
45,1,1,0,0,0,SoundPlay
45,1,1,0,0,0,SoundBeep

45,1,1,0,0,0,SetWorkingDir
45,1,1,0,0,0,FileInstall
45,1,1,0,0,0,Drive
45,1,1,0,0,0,DriveGet
45,1,1,0,0,0,DriveSpaceFree
45,1,1,0,0,0,FileCopyDir
45,1,1,0,0,0,FileMoveDir
45,1,1,0,0,0,FileRemoveDir
45,1,1,0,0,0,FileCreateDir
45,1,1,0,0,0,FileRecycle
45,1,1,0,0,0,FileRecycleEmpty
45,1,1,0,0,0,FileCopy
45,1,1,0,0,0,FileMove
45,1,1,0,0,0,FileDelete
45,1,1,0,0,0,FileCreateShortcut
45,1,1,0,0,0,FileGetShortcut
45,1,1,0,0,0,FileGetAttrib
45,1,1,0,0,0,FileGetSize
45,1,1,0,0,0,FileGetTime
45,1,1,0,0,0,FileGetVersion
45,1,1,0,0,0,FileSetAttrib
45,1,1,0,0,0,FileSetTime
45,1,1,0,0,0,FileRead
45,1,1,0,0,0,FileReadLine
45,1,1,0,0,0,FileAppend
45,1,1,0,0,0,FileSelectFile
45,1,1,0,0,0,FileSelectFolder
45,1,1,0,0,0,IfExist
45,1,1,0,0,0,IfNotExist
45,1,1,0,0,0,FileExist
45,1,1,0,0,0,Loop
45,1,1,0,0,0,Loop,READ
45,1,1,0,0,0,SplitPath

46,1,1,0,0,0,IniRead
46,1,1,0,0,0,IniWrite
46,1,1,0,0,0,IniDelete

46,1,1,0,0,0,Loop
46,1,1,0,0,0,RegRead
46,1,1,0,0,0,RegWrite
46,1,1,0,0,0,RegDelete

46,1,1,0,0,0,EnvSet
46,1,1,0,0,0,EnvGet
46,1,1,0,0,0,EnvUpdate

46,1,1,0,0,0,KeyHistory
46,1,1,0,0,0,ListHotkeys
46,1,1,0,0,0,ListLines
46,1,1,0,0,0,ListVars
46,1,1,0,0,0,Edit
46,1,1,0,0,0,Reload
46,1,1,0,0,0,OutputDebug

46,1,1,0,0,0,SysGet
46,1,0,0,0,0,#ClipboardTimeout
46,1,1,0,0,0,ClipWait
46,1,1,0,0,0,OnClipboardChange:
46,1,1,0,0,0,PixelGetColor
46,1,1,0,0,0,PixelSearch
46,1,1,0,0,0,ImageSearch
46,1,1,0,0,0,URLDownloadToFile

46,1,0,0,0,0,#NoEnv
46,1,0,0,0,0,#Include
46,1,0,0,0,0,#IncludeAgain
46,1,0,0,0,0,#CommentFlag
46,1,0,0,0,0,#ClipboardTimeout
46,1,0,0,0,0,#EscapeChar
46,1,0,0,0,0,#MaxMem
46,1,0,0,0,0,#ErrorStdOut
46,1,0,0,0,0,#KeyHistory
46,1,0,0,0,0,#NoTrayIcon
46,1,0,0,0,0,#Persistent
46,1,0,0,0,0,#SingleInstance
46,1,0,0,0,0,#WinActivateForce
46,1,0,0,0,0,#UseHook
46,1,0,0,0,0,#InstallKeybdHook
46,1,0,0,0,0,#InstallMouseHook
46,1,0,0,0,0,#Hotstring
46,1,0,0,0,0,#HotkeyModifierTimeout
46,1,0,0,0,0,#HotkeyInterval
46,1,0,0,0,0,#MaxHotkeysPerInterval
46,1,0,0,0,0,#MaxThreads
46,1,0,0,0,0,#MaxThreadsBuffer
46,1,0,0,0,0,#MaxThreadsPerHotkey
46,1,1,0,0,0,SetBatchLines
46,1,1,0,0,0,DetectHiddenText
46,1,1,0,0,0,DetectHiddenWindows
46,1,1,0,0,0,CoordMode
46,1,1,0,0,0,SetDefaultMouseSpeed
46,1,1,0,0,0,SetKeyDelay
46,1,1,0,0,0,SetMouseDelay
46,1,1,0,0,0,SetWinDelay
46,1,1,0,0,0,SetControlDelay
46,1,1,0,0,0,SetStoreCapslockMode
46,1,1,0,0,0,SetTitleMatchMode
46,1,1,0,0,0,SendMode
46,1,1,0,0,0,AutoTrim
46,1,1,0,0,0,StringCaseSense
46,1,1,0,0,0,SetFormat

Quotation="'
Canceler=`
Commenter=;
CommenterRegExp=0
CommenterCase=1
CommenterWord=0
CommenterFuzz=0
BracketCount=0


AutoHotkeyのインストールフォルダ\Extras\Editors に各種エディタ向けキーワードファイルがあるらしい
ansi32 を入れたためか無かったので作った。(コピった。)
空行はカテゴリ分け
優先順位とか いろいろあるけどとりあえずたたき台

参考:
AutoHotkeyを流行らせるページ

スポンサーサイト

PageTop
kp41(kernel-power 41)に関するメモ。
当初は深刻に考えていなかったが、原因がわかりづらい、神出鬼没と言う意味で漢字Talk時代のマックよりひどいかも・・・・よっぽどサッドマックのほうがすっぱり諦めがつく・・・・・

というわけで、基本的に 長文 駄文 です。
当初想定よりも長くなった上にいまだ解決せず。



手持ちのwin7機2台ともkp41病に罹患

kp41病とは コンパネ(表示方法:大きなアイコン)> 管理ツール > イベント ビューアー で
以下のような重大イベントの ソースが Kernel-PowerID が41 のイベントが記録される病気
(実際には、いきなりの再起動とかフリーズが起きる)
kp41.png

更に、カスタムビュー > 管理イベント から時系列に沿って他の管理イベントとともに見れるし、詳細な情報(BugcheckCodeなど)も見れる。
kp41_detail.png
※この画面は、kp41に絞り込んである

まず、kp41病原因ではなく症状(症例)

は?と思う と思うが、体験してイベントビューを眺めてみると意味がわかる。と思う。
さまざまな原因によってカーネルがぶっ飛んで、再起動(次の起動)時に直前の終了が異常だったときにイベントとして記録されるのがkp41 (と思う)

なので、単に電源ボタン長押しで終了してもkp41になるし(以下のシナリオ2)、停電でもなる(ハズ。たぶん。)
kp41が実際に記録されるタイミングは、クラッシュしたときではなくて、再起動(次の起動)の時。
何が言いたいかというと、kp41が出るというだけでは解決方法は不明(=原因不明)。ということ。



MSのKB (Microsoft Knowledge Base:サポート技術情報) に以下の文章がありまする。
Windows 7 または Windows Server 2008 R2 で Windows カーネル イベント ID 41 エラー"システムは正常にシャットダウンする前に再起動しました" が発生する

MSのKBはしょっちゅう消える(URLが変更とか)ので無断転載
  (問題あれば指摘下さい消します)
MSKB2028504 の 表示|非表示 (要javascript)



ということで、大雑把に解釈すると
シナリオ1の場合は、BugcheckCodeが存在する(0でない)状態。
これはいわゆるBSoDの青画面で、例えば
*** STOP: 0x0000009f (0x3, 0xfffffa80029c5060, 0xfffff8000403d518, 0xfffffa800208c010)
とかって出てくる 一番最初の9fのところが、そもそもの(クラッシュの)原因、というか、その問題が起きて、PCの電源が予定外に切られたのでその電源が切られたことがkp41
なので、その原因(この例の場合9f)を直せばkp41も直る(ハズ。たぶん)
で、kp41のBugcheckCodeがBSoDのBugcheckCode(ストップコード)そのもの(を10進にしたもの)
なのでkp41のBugcheckCodeが159だと9fになる
設定次第だがkp41の直前に9fのクラッシュダンプが保存されているハズ

副次的なkp41と勝手に呼称)

シナリオ2の場合は、PowerButtonTimestampが存在する(0でない)状態。
これが記録される前の電源を切る状態で、単に電源を長押しして切っちゃった。だけだった場合、そんな馬鹿なことはするな。ということ。
そうではなくて、操作を受け付けず(BSoDとか)仕方なく電源長押しをしていた場合、このkp41はその操作を受け付けなくなった原因には直接結びつかない。(たぶん。)
なので、kp41ではなく、その前に起きているエラーなりBSoDに注目すべき。
副次的なkp41と勝手に呼称)

シナリオ3の場合は、BugcheckCodePowerButtonTimestamp0の状態。
これが一番厄介で、要はいきなりカーネルが止まって、本人(Windowsカーネル)も何でか知らんけど直前の終了が異常だったよ?といってる状態。  (真性のkp41病と勝手に呼称)
もしくは、本来はシナリオ1・2なのだけどその情報が書き込めなかった場合。 (仮性のkp41病と勝手に呼称)

で、おそらくほとんどの人が困っているのがシナリオ3の真性のkp41病
なぜなら、シナリオ1・2の副次的なkp41なら、kp41と騒ぐ前にBSoDと騒いでる。たぶん。
(副次的なkp41なのに、kp41のログがあるからとkp41対策で出てくるメモリ交換などを妄信的にやるのはやめましょう。
MSKBの文章を信じる限り、BSoDとkp41が両方出ているような場合、kp41が原因でBSoDが発生するのではなく、BSoDが起きた事で副次的に起こるのがkp41です。決してkp41が原因ではありません。たぶん。
まぁ、BSoDもPCが断末魔的に吐くので、そのBugCheckCodeでは解決に結びつかないことも多いですが・・・)

とにかくエラーも吐かずいきなりストップしてると全てこのkp41のシナリオ3になってしまう(しかもXPなどでは起きない。らしい。)ので、なかなか厄介な病気と思われてる。(みたい)
で、一般的には、
予定外に電源が切れた=電源がおかしい?容量不足?どこかで電圧のドロップ?
または、
カーネルがクラッシュ、しかもクラッシュダンプが書き込めない=メモリがおかしい?
となって、
kp41対策 ⇒ 電源周りをいじる(コンパネの電源オプションとか)、電源を変える、メモリ電圧を上げる、メモリを交換する、とかとか・・・・
という図式なのだろうと思われる。
そして、MS的にはカーネルがエラーも吐かずに止まることは無いので、真性のkp41病の場合、電源が引っこ抜かれるようなことか、何かしらのドライバーがおかしいはずだ。という事なのだろうと、勝手に妄想する。









実際の症状
まずは2台のwin7機のスペック
ノートPC  (Win7HomePremium64bit)デスクトップPC  (Win7Enterprise32bit)
ThinkPadEdge E525 (AMDモデル)
CPU A6-3400M
メモリ 10GB (2GB+8GB交換増設)
SSD換装 Crucial C300 64GB (CFD版)

 
Shuttleベアボーン SD32G2
CPU Core2Duo E6300
メモリ 4GB (2GB*2)
SSD SiliconPower SP064GBSS2T10S25
VGA SAPPHIRE RADEONHD 6450 1GB
PSU PicoPSU + 160W ACアダプタ

ノートはBSoDではなくいきなりのハードハング(カーソル含め画面が動かず、すべての入力が効かない。いわゆるフリーズ)数分待っても何も変わらず。1時間近く待ったこともあったが、BSoDを吐く訳でもなく電源長押し以外に方法がない。
(低価格ノートなのでアクセスランプもなく、CapsLock,NumLockランプもない)
イベントビューアーで確認すると、2012/11/18から発症し
2012/11月  1回
2012/12月  1回
その後、2013/5月の対策開始までに月に約10回、平均的に2~3日に一度発症してる

デスクトップはエラーも吐かずにいきなりの再起動
2012/11/14から発症し2013/5月の対策開始までに月に10回未満、平均的に3~4日に一度発症している

そして両機ですべてのkp41がBugcheckCodeが0のシナリオ3のパターン

ちなみに、この時は2台とも
コンピューター > 右クリック (プロパティ) > システムの詳細設定 > 起動と回復 の 設定 > システム エラー の 自動的に再起動する
がデフォルトでチェックが入っているとは知らずいた。
(これのせいで、BSoDが出ずにいきなり再起動となる。のか?たぶん。ハードハングでなければBSoDが出てくれるもんだと思っていたのにいつからこんな仕様になったんだ・・・)

しかも、2台ともSSDを入れていたので、ページファイル(pagefile.sys)をRamDiskにのみ割り振り、TEMPもTMPもRamDiskに設定していた。
すると、再起動の時にはRamDiskの中身はクリアされるのでクラッシュダンプが取れず(クラッシュダンプにはページファイルが必要、おそらくTEMPも)BlueScreenView等で後から見ても何も残っていないことになる。(のだと、思う。正確には、クラッシュダンプはBSoDの際に行われるのでRamDiskが消えるのとタイミングがどうかわからないが、“自動的に再起動”を外してもページをRamDiskに置いた状態だとBSoDの際にダンプが最後まで書き込まれた経験がない。TEMP or TMPのせいかも?検証してない)
そして、kp41のBugcheckCodeもひたすら0になっていたのは、このせいと思われる。
※デバック情報の書き込み(システムのプロパティ>起動と回復 の設定>システムエラー)を“なし”以外の状態でページファイルを小さくしていくと“システムエラーの際に詳細情報を記録できない”とか何とか言われる。ここで言われるメモリ量は搭載メモリ量による(たぶん)system_warn.png

ということで、BugcheckCodeが0の真性のkp41病だと思っていたが、実はそうではなかったかも。というのは、相当後から気づいたこと。








実際にやった対策と時系列

ノート機
前述のとおり、基本的にハードハング
しかも、何かをした時でもなく、アイドル時など不意な瞬間に起こり、あ?あ~~・・・といった感じ。
画面上にはCPU使用率、GPU使用率、メモリ使用量、ディスクIO、NIC IO、uptimeなどをRainmeterで常時表示(1秒更新)してるが、止まった瞬間はたいがい気がつかずにポインターが動かないことで気がつく程度、に、前触れも無くいつの間にかに自然に(?)ハングする。

最初のうちは、それほど気に留めてなかったが、2日に1度ほど起きるようになりネットで調べ出すが、同じような例は見当たらず、スリープを常用しuptimeが何十時間か行ってから起きることがほとんど(uptimeが2daysに達しない程度で)なので、大事な作業をする時は起動直後のメモリがクリーンな状態で無いとだめかな、と思っていた。
       ↓
その後、kp41というものを知り、
・メモリ診断(OS付属):拡張2pass 6時間程度?をやる → 問題なし
・SSDのチェック(FromHDDtoSSD) → 問題なし
・コンパネの電源オプションをいじる → 改善せず
・k10statを疑い、k10stat無しで運用 → 改善せず
  (※誤解の可能性あり)
・VGAのドライバetcを手動で更新 → 改善せず   (自動だと最新といわれる)
などなど、一般的な対策 & kp41でよく出てくる比較的簡単な対策をするが改善はしない。
       ↓
しだいにプチフリらしきものも発症(5秒~10秒 頻度は少なく、1~2ヶ月で3~4回)
       ↓
2013/5/17 仕方なくリカバリ(1度目)
買ってからすぐにSSDに換装、RamDiskも使い、k10statも使った状態で半年近くkp41を発症してなかったので、リカバリでOKかと思っていたら、そんなに簡単ではなかった。
       ↓
2013/5/22 大体のセットアップが終わり、VirtualBox、Eclipse、etc入れる前にバックアップ
       (k10stat、ramdisk、speedfan、afterburner等入り)
       ↓
VirtualBox、Eclipse、AndroidStudioインストール
(VMwareはMSI(マイクロソフトインストーラー)のエラーでインストールできず)
       ↓
2013/5/27 リカバリ後初のkp41があっさり発生  その後ほぼ毎日発生
ただ、このころのkp41はハードハングよりスリープ移行時におきるようになった記憶(若干曖昧)
スリープで画面消えるも電源ランプがつきっぱなし → 復帰もしない → 電源長押し(=kp41)
       ↓
プチフリも併発。 (頻度は低い)
       ↓
C300(SSD)でよく出てくるLPM問題対策をする → kp41もプチフリも改善せず
(C300のファームは上げてあるし、IRST入れてないし、AMDモデルだしやはり無関係か)
 └LPM問題参考:
  ●『[PCトラブル記]やっと原因がわかった!Windows7+H67+SATA6Gbpsの環境で、Crucial SSD C300を使うとフリーズしまくった件
  ●『忘却の彼方: SATA LPMの設定方法
  ●『シリアルATA の LPM 無効化設定メモ Microsoft ドライバー編 【 awgs Foundry 】

       ↓
・Windows Error Reporting Service が開始したタイミングで、ハングしてたようなので サービスを停止、無効にしてみる → おそらく無関係
・電源オプション > プロセッサの電源管理の最大を 98% に
   └参照:『kp41 workaround』 → 98%で検索
・k10stat の up(ms)を 200ms から 500ms へ
WinHTTP Web Proxy Auto-Discovery Service → 無効
   └参照:『kp41 workaround』 → WinHTTPで検索
Adobe Flash Player Update Service → 無効
   └参照:『kp41 workaround』 → Adobe Flashで検索
       ↓
2013/6/3 BIOS、電源関連ドライバ アップデート (手動※自動だと最新といわれる)
       ↓
2013/6/5 2013/6/6 とkp41発生1回ずつ
おそらくこの辺でページングとTEMP,TMPをCドライブに設定 (それまでは両方RamDiskのみ)
       ↓
2013/6/7 BSoD 9f 発生 (ページングをCドライブにも設定したから取れた模様)
    └Minidumpが取れ、kp41のBugcheckCodeも9fに相当する159になっていた。
     ※ここから3日で5回のBSoD 9f (それ以外のkp41は無し)
       ↓
BSoD 9f で検索すると以下が見つかる。
Windows 7 または Windows Server 2008 R2 で、コンピューターが休止状態に入り、再開する際に「0x0000009f」 ストップ エラー メッセージが表示される
 └→修正プログラムを試すが、適用不可 といわれる。
Windows の STOP 0x9F エラー メッセージのトラブルシューティング
   sigverif.exeについては以下参照
   『ファイルの署名の確認ツールを使ってサードパーティのドライバを探す方法
sigverif.exeで2つの.sysファイルが見つかる
 ・ramdiskve.sys → DataRam RAMdisk(ver4.05たぶん)
 ・dtsoftbus01.sys → DAEMON Tools Lite
  両方ともアンインストール
       ↓
BSoD 9f は直らず (rainmeter かネットワークが吹っ飛んでる?)
       ↓
2013/6/10 どうしょもないので再度リカバリ(2度目)
(bsod 9fとは関係なく3度やる。一度はなぜか忘れた。一度はMSupdate後ログインできなくなり電源長押しで終了=kp41 →アタマキタのでリカバリからやり直し)
RamDiskは入れず。その他の個人的SSD向け設定はやる。アプリもそこそこセットアップする。
怪しそうな以下のアプリは抜きで検証。
 ・RamDisk
 ・k10stat
 ・SpeedFan
 ・Afterburner

       ↓
2013/06/14 3日持った(uptime3days)のでシステムをバックアップ
 ・MSUpdate   (6/11の月例のもの)
 ・RamDiskインストール (ページファイル、TEMP、TMPはCドライブのまま)
       ↓
BSoD 9fに関し、以下の文章を見つける。
LenovoのThinkPadに対するアップデート
スタンバイに移行または復帰するときのブルースクリーンに対するWindows 7の更新について
Windows 7 アップデート モジュール KB2459268 - ThinkPad
http://download.lenovo.com/mobilesjp/os7024jp.txt
(ベンダーの特定製品向けのパッチがあるということはBSoD 9fのスリープ周りに潜在的なバグがあるのではないかと邪推。kp41もスリープ周りで起きている人も多いようなので、MSパートナー企業でも大手以外のベンダーのM/Bあたりの人はパッチが出てこないんじゃないか?などと妄想
BSoD 9fはこれのせいではないかと思うが、リカバリ後起きていないのでとりあえずスルー。
起きたら適用するつもり。
       ↓
2013/6/16 RamDiskインストールからuptime2days到達手前で
 ・k10statインストール(起動※k10stat自体はコピーのみなので)
      └以前の設定でOCCTによるラージデータ1時間テスト → No Error
        (600Mhz、1.0Ghz、1.6Ghz、1.8Ghz、2.0Ghz固定での各テスト)
       以前の設定+0.025Vで運用開始
k10stat.png
       ↓
2013/6/17 RamDiskインストールから2日持った(uptime2days)
 ・VirtualBox4.2.12r84980インストール(再起動)
       ↓
  5秒くらいの プチフリを2~3度経験
  一度はWindows Error Reporting Serviceがそのタイミングで立ち上がっていた様子
       ↓
2013/6/20 VirtualBoxインストールから3日経つ手前(uptime2days22h)
  ブログを書いている途中、画像アップロードのボタン(javascript)を押した瞬間ハードハング
  → 電源ボタン長押し → kp41
  ページ、TEMP、TMPがCドライブのままなのにbugcheckcode0,timestamp0
  デバッグ情報は“カーネルメモリダンプ”。が、C:\Windows\MEMORY.DMPは出来ず
  真性のkp41病のパターン
  タイミング的に、1時間おきのFlash updateタスクのタイミングかもしれない。
  イベントビューアーにはハングの時間には何もなし。
       ↓
  起動後、チェックディスクをスケジュール
  k10statのスタートアップを外す
       ↓
  再起動
  チェックディスク 一回目 Cleaning up は53 bad sector0 @wininit
  チェックディスク 二回目 Cleaning up は4 bad sector0 @wininit
       ↓
2013/6/21 深夜 動きが重い
  → OCCTを試してみるも、CPU100%ではカーソルもまともに動かないほど重い
  → CPU-Zで見てみると、クロックが800Mhzのまま上がらない
  → k10statを立ち上げてみると、周波数はAutoだがEnable Clock ControlのチェックはOff
   (k10stat無しで再起動しているが、本来の速度可変の設定に戻らない〔最遅に固定される〕
   k10statでの読みはクロックもVIDもデフォルトの数値のよう。)

  → svchost.exeがCPU25%を食ってsystemで走っていたが、サービスはWindowsUpdate
   (クロック800Mhz固定だったためほぼ1コア100%状態)
  → 眠いんでCPU使用率25%のまま、スリープ
  → 画面はブラックアウトも、電源ランプが点滅に移行せず
   (1時間も待てばBSoD 9f吐いたかも)
  → 何をしても無反応のため、バッテリーを抜きACアダプタを抜いた
   (電源ボタン長押しはしてない。たぶん有効だがわざと停電してみた)
  → セーフモードで起動、
   (kp41記録される BugcheckCode 0、PowerButtonTimestamp あり〔意外。押してないし〕)
  → チェックディスクを掛け再起動
  → Wininit で Cleaning up は6
  → とりあえずスリープで寝る
       ↓
2013/6/21 翌日、というか、同じ日 起動するもやはりCPU800Mhz固定
  → CPU周波数を見るため、CoreTempを入れ(ポータブル版)Rainmeterに表示させる
  → k10statでP0が1.1GhzのDownClock設定を適用し、シャットダウン
   (最遅が500とデフォルトと違うクロックなのでわかりやすい)
  → 起動後、周波数は800Mhz固定 OCCTかけても上がらない
  → シャットダウン バッテリー、ACアダプタ 外して放置1時間
  → 起動 → 周波数固定は変わらず
  → CMOSクリア(バッテリ、ACアダプタ、電池はずし放置)
  → CMOSクリア成功(Bios cmos bad checksamとか何とか)
  → 周波数固定変わらず
  → kp41未発生でk10statも入れていないとき(6/14)のバックアップへリストア
  → 起動後、起動のタイミングでkp41がカウントされている。
   (バックアップをwindows上(起動状態)から行ったので、そこからリストアした状態で起動すると正常に終了していないのと同じ状態のためと思われる)
  → 周波数は固定されたまま
       ↓
    本来のCPUのレジスタが設定される動作と、k10statの挙動の関わりなど、よく理解していないが、このままではk10statにkp41(はたまた周波数固定)の原因があるのかわからないので、
    リカバリ(3度目) (細かく言えば5度目)
  → 周波数は可変、周波数とVIDはデフォルトで動いてる模様(CoreTemp読み)
   (CPUのレジスタの設定はどこにあるんだ??)
  → 初期設定(ほぼコンパネで出来る事。レジストリはprefetchのみ。hibernateは off)を施す
    アプリはCoreTemp(ポータブル版)以外は入れず試す
       ↓
   書き溜めていたが、なかなか解決に至らないので、公開にしよう。
       ↓
2013/6/25〔追記〕 3日持った(uptime3days)ので常用アプリの大半を入れる。
  ・avast・ClassicShell・CrystalDiskInfo・Firefox・Rainmeter・EaseUSToDoBackUp4.0.2
   をインストール

       ↓
  ToDoBackUpを入れたので、バックアップファイルを開こうとダブルクリック(アイコン白いまま)
  関連付けが駄目なら、ダイアログが出ると思ったが、何も起きずexplorer.exeがcpuを食ったままになる
  →スリープを待つと、普通にスリープするが、復帰させるとまたexplorerがcpu食ったまま→仕方なく再起動(バックアップファイルが外付けUSBHDD上だったのでUSB切断の何たらとエラーが一瞬出る。まぁ大した事じゃない)
  その後、以下をインストール
  ・WinMerge・Office2000・イラレ9・フォトショ6・AutoHotKey_L ansi32・ultraVNC・窓の手
  ・puttyはコピーしレジストリのみ追加

  その他もろもろのアプリをコピー
       ↓
  explorerが馬鹿になる症状が発生(ドラッグドロップが効かなくなる)
  (以前にも何度か発症してたが、最近全く無く忘れてた 再起動すれば直る)
  以前も同様だが、なぜか同時にFireFoxのタブのドラッグも効かなくなる
       ↓
      再起動

  容疑の高い以下のソフトは入れずに検証継続
  ・k10stat
  ・RamDisk
  ・FlashPlayer (元から入っていたのはそのまま、FireFoxのプラグインは入れず)
  ・VirtualBox
  ・DaemonTools
  ・Speedfan  (CoreTemp入れたから用無しかも。どうせFanSpeedは計測不可)
       ↓
2013/6/28〔追記〕 2日と半分(uptime2days13h)でハードハング
  → 電源ボタン長押し → kp41 bugcheckcode0, powerbuttontimestamp0
  その前には、5秒程度のプチフリを2度ほど発症(間隔は数時間)
  一気にハードウェアが怪しくなってきたか?
  → wininit 一回目 Cleaning up 304 二回目 Cleaning up 4
       ↓
  標準でついてきたSamsungのメモリ2GBをはずし、Corsairの8GBを1枚で検証開始
       ↓
2013/06/30〔追記〕 2日手前(uptime1days23h)でAleGr MEMTESTかけたらハードハング
  → 電源ボタン長押し → kp41 bugcheckcode0, powerbuttontimestampあり
  (負荷変動がある所でコケルかも?という仮説でWindows上でメモリのテストを行ってみた。
  17pass位(約10分)のところで、固まった)
  Samsungメモリは冤罪か?
  → 再起動
  → wininit Cleaning up 20(そろそろこれも無関係か)
  → 起動後、再度AleGr MEMTEST エンドレスっぽいので飽きてCtrl+C
  → Memory Test Thread 1: Pass 88 completed
    Memory Test Thread 2: Pass 88 completed
    Test completed, elapsed time=3118 seconds
    No errors detected
    やはり再起動直後はハングしない
  → 起動後、スリープをはさむとおかしくなるのか?という仮説の元いったんスリープ
  → 復帰後、再度AleGr MEMTEST
    /?オプションでオプションが見れる。
    基本エンドレスらしいので、/time:[0-9]+で時間(分)指定できる。デフォルトで1時間
    /maxerros:1 (エラーがひとつでもあればストップ)をつけて実行、飽きたらCtrl+C
  → Memory Test Thread 1: Pass 96 completed
    Memory Test Thread 2: Pass 96 completed
    Test completed, elapsed time=3605 seconds
    No errors detected
    やはりスリープをはさんでもuptimeが1day以上は経ってないとハングしない
       ↓
2013/07/1〔追記〕
  前日、uptime2days手前でAleGr MEMTESTをかけたら、10分ほどでハングしたことから、AleGr MEMTESTがトリガーになりうると考え、スリープから復帰のたびにAleGr MEMTESTを実行するもuptime1day8hまではハングせず。
  おそらく、あと10h後くらいには、どこかのタイミングでハングすると予想されるが、それを確認しても不毛なため、Corsairの8GBを、外したSamsungの2GBと交換し検証開始。
       ↓
2013/07/4〔追記〕 2日半(uptime2days10h)
  AleGr MEMTEST中に省エネ設定で画面だけがoff→40分経過程度でトラックパッドを触るも画面が写らず
  1時間経過すればAleGr MEMTESTは終わるはずなので、その時間まで一応待ってみる
  →1時間経過でもfanは回りっぱなし(終了するといつもはすぐ止まる)
  →おそらくクロックあがりっぱなし→OSがハードハングしてると思われる
  (これは電源オプションでスリープをOffで起きた為前述のこれではないと思う。)
  → 電源ボタン長押し → kp41 bugcheckcode0, powerbuttontimestamp0
  これで、どちらのメモリをはずした状態でもuptimeがある程度(1日以上)行くとハングする
  ≒ メモリは関係なさそう
       ↓
2013/07/5〔追記〕
  Corsair8GBのみで、memtest86+ v4.00で3pass(10時間)no error detected
  やはりメモリは無関係か
       ↓
  元から入っていたノート専用のドライバ類を抜いてみる。(の前に一応バックアップ)
  (内蔵カメラ、Wifi関連、SDカードスロット、バッテリー制御、LenovoSystemInterfaceDriver、etc)
  → やはり色々とノートの機能が使えなくなる。kp41以前にまともに使えないので却下
       ↓
  リカバリの前に、Windows7評価版32bitを試しに入れてみる。
  (SSDなのになぜかwin7の旗画面がいつも30秒もかかるのでまっさらのwin7で試したかった)
  → ドライバが自動ではうまく拾えず、画面さえ横に伸ばされている。
  → 旗画面の時間も短縮されず(30秒~1分強)
       ↓
  リカバリ レジストリはいじらず。コンパネで設定できる程度しかいじらず。
  WindowsUpdateは適用。 プリインストールの不要なソフトはアンインストール。
  プリインストール以外のソフトは入れず。AleGr MEMTESTのみコピー。
  もういっそこれでハングするまでつけっぱなしにするか・・・・
  これでハングすれば、犯人はノート本体、C300、OS(ドライバ含む)、にまで絞れる。
       ↓
2013/07/7〔追記〕 スリープ移行時に電源ランプ付きっぱなしのkp41(uptime2days)
  bugcheckcode0,timestampあり
  これは、前述のこれだとおもうので、今犯人探しをしてるkp41とは違うと思う。
       ↓
2013/07/11〔追記〕 3日半(uptime3days14h)経過
  アプリを入れないとハングしてくれない?avastだけ入れてみることにする。
  Windows Defender無効
       ↓
2013/07/13〔追記〕 5日半(uptime5days17h)経過
  avastインストールからも2日経過、kp41が出るならもう出ててもいい頃合。
  avastではないのかも?
  Firefoxをインストール。まさか?
       ↓
2013/07/14〔追記〕 3:34(深夜)
  WindowsUpdateを
  「更新プログラムを確認するが、ダウンロードとインストールを行うかは選択する」
  にしていたのに、
  「更新プログラムを自動的にインストールする(推奨)」
  に勝手に変更し、勝手にインストールし再起動している
  (あほOSめ、今はウィルスなんかよりよっぽどkp41が怖いんじゃボケ)
  WindowsUpdateの通知は着ていたが、手動になっていたから3日間スルーしたのに何でこうなる?
  以前もあったからまたバグじゃないの?→『Windows Updateで発生している不具合~
       ↓
2013/07/16〔追記〕 2日半(uptime2days15h)経過
  AutoHotKey_L ansi32インストール まだkp41の兆候なし
       ↓
2013/07/17〔追記〕 3日半(uptime3days16h)経過
  (└→avastFirefoxの線は薄くなった。)
  窓の手インストール
  ・カーネルメモリのページアウトを抑制する にチェック
  ・サブメニューの表示するまでの待機時間 0秒(デフォルトは400ms?)
  ・Windows Update の自動更新後の自動再起動を無効にする にチェック
      再起動
       ↓
2013/07/19〔追記〕 2日(uptime2days5h)経過
  ・ClassicShellインストール
  ・イラレ 9インストール
  ・フォトショ 6インストール
  ・NikonView 6.2.7インストール
       ↓
2013/07/20〔追記〕 3日(uptime3days)経過
  ・WinMergeインストール
  ・puttyコピー レジストリ移行
  ・UltraVNCインストール
  ・EaseUS ToDoBackup4.0.2インストール
  ・CrystalDiskInfoインストール
  ・Thunderbirdインストール
       ↓
2013/07/22〔追記〕 5日(uptime5days)経過
  ・Rainmeterインストール
  ・CoreTempポータブル版コピー
       ↓
2013/07/23〔追記〕 6日(uptime6days)経過
  ・PCToolsFirewall インストール
  ・その他アプリコピー
  ・powercfg /hibernate off
       ↓
2013/07/24〔追記〕 7日(uptime7days)経過
  ・http://support.microsoft.com/kb/927665/ja
  (regsvr32 "C: \Program Files\Common Files\Microsoft Shared\VC\msdia80.dll")
  ・HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters の EnablePrefetcher の値を 0 
  ・TvtAudioStretchFilter.ax
  ・office2000インストール
  ・yahoomessengerインストール
       ↓
2013/07/25〔追記〕 8日(uptime8days)経過
  ・メモリ2GB増設 合計10GB 再起動
       ↓
2013/07/27〔追記〕 2日(uptime2days)経過
  ・ClassicShell3.2.7にしてみる(3.2.8から@以前の再現の為) 再起動
       ↓
2013/07/30〔追記〕 3日(uptime3days)経過
  いまだkp41発症せず。直ったのか?しかし、これでは原因わからず。
   └→バックアップ 後 リカバリ
  ほとんどのアプリをインストール
  なぜかphotoshop6がインストールできない。
       ↓
2013/08/02〔追記〕 2日半(uptime2days12h)経過
  プチフリ? 怪しいので、pagefileをCドライブに16MB、TEMP TMPをCドライブに設定
       ↓
  AleGr MEMTEST は1h pass
       ↓
  スリープ復帰時、デバイスドライバがインストールされたと言われる。
  ?と思い、確認しようと思った矢先に
  BSoD 3Bbsod_3b.png
  ks.sysとかいわれているが、よくわからず。
  physical memory dump complete. とあるのにminidumpは出来ておらず。

  再起動後、WindowsUpDateが勝手に自動更新になってる
  silverlightとvisualC++2005,2008,2010のアップデートがあるので適用 再起動は要らなかった
  photoshop6.0のインストールができるようになってる。
  (コケた時も再起動すれば出来るだろうとは思ってた)

  その後、
  ・Virtualbox
  ・JDK
  ・androidstudio インストール
   javaのpathの関係でlogoff→login
       ↓
2013/08/04〔追記〕 2日(uptime2days)経過
  BSoD 9f スリープ移行時に、なった模様(その時は、眠くて気付いてなかった)
  minidumpあり
  再起動後、以下のようなウィンドウが表示される(初見)bsod9f.gif
問題の署名:
問題イベント名: BlueScreen
OS バージョン: 6.1.7601.2.1.0.768.3
ロケール ID: 1041

この問題に関する追加情報:
BCCode: 9f
BCP1: 0000000000000003
BCP2: FFFFFA8007F5DBB0
BCP3: FFFFF80000B9C518
BCP4: FFFFFA800C0D9E10
OS Version: 6_1_7601
Service Pack: 1_0
Product: 768_1

この問題の説明に役立つファイル:
C:\Windows\Minidump\080413-32947-01.dmp
C:\TMP\WER-43789-0.sysdata.xml

オンラインのプライバシーに関する声明をお読みください:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0411

オンラインのプライバシーに関する声明が利用できない場合は、プライバシーに関する声明をオフラインでお読みください:
C:\Windows\system32\ja-JP\erofflps.txt
   └→lenovo用OSFIX適用
       ↓
  ・Eclipse
  ・AndroVM Player
   インストール(というかコピー@多少、試行錯誤したので正確な日付失念)
       ↓
2013/08/07〔追記〕 3日(uptime3days)経過
  プチフリ? プチフリか遅いだけかわからん・・・
       ↓
2013/08/08〔追記〕 4日(uptime4days)経過
  Eclipseのメモリリークがひどいので再起動
  (メモリ不足でfirefoxを再起動するといわれた)
       ↓
2013/08/10〔追記〕 2日(uptime2days)経過
  スリープ復帰時に画面明るさが元に戻らず(割りとあるディスプレイを閉じて開くと直る)
  同時にVMandroPlayerがハング
  → VMandroPlayerは終了 → ディスプレイを閉じても画面明るさが戻らないのでスリープ
  → 画面がブラックアウトも電源LEDつきっぱなし → 何をしても無反応
  → 電源ボタン長押し → kp41
  エラーがいくつか出ている
  『ShellHWDetection サービスからのトランザクション応答を待機中にタイムアウト (30000 ミリ秒) になりました。』
  VirtualBox Host-only adapterが問題か?
  スリープ時の問題はOSFIXで直ったかと思ったのに・・・
       ↓
2013/08/13〔追記〕 2日半(uptime2days12h)経過
  memtest109passでハードハング
  ping応答なし
  kp41はbagcheckcode0,timestamp0
  再起動後、
  ・avast アンインストール (怪しいものを抜いていく作戦)
       ↓
2013/08/15〔追記〕 2日(uptime2days)経過
  BSoD 9f minidaumpあり 再起動後8/4と同じウィンドウあり しかし何故?
  問題イベント名:	BlueScreen
OS バージョン: 6.1.7601.2.1.0.768.3
ロケール ID: 1041

この問題に関する追加情報:
BCCode: 9f
BCP1: 0000000000000003
BCP2: FFFFFA8007F5B700
BCP3: FFFFF80004C8D748
BCP4: FFFFFA80087AD330
OS Version: 6_1_7601
Service Pack: 1_0
Product: 768_1
       ↓
2013/08/18〔追記〕 2日(uptime2days)経過
  Firefoxのリロードでプチフリ イベントビュアー>Windowsログ>システムを見ると
  bowser 8003
  『マスター ブラウザーは、自分がトランスポート NetBT_Tcpip_{***} のドメインのマスター ブラウザーであると認識している 別のコンピューター NAS からサーバー アナウンスを受信しました。 マスター ブラウザーが停止しているか、またはブラウザーの選択中です。』
  ちょうど、NASが起動したタイミングで、マスターブラウザーが移ったのか?エラーが出ていた。
       ↓
  その後、
  ・Avira インストール
  インストール後、自動的に表示されるウィザードの設定中ハードハング → kp41
       ↓
2013/08/19〔追記〕 18時間(uptime18h)経過
  TVtest起動、チャンネル切り替え時ハードハング → kp41
  ・10GBメモリの内、Samsung2GBをはずしてみる。
       ↓
2013/08/21〔追記〕 2日(uptime2days9h)経過
  ハードハング → kp41
  コメントを頂けたので試しにProcessLassoは起動していたが、関係性は不明
  (ProcessLasso起動直後にはkp41にならず)

  ・yahoo messenger アンインストール
       ↓
2013/08/24〔追記〕
  ・CCCP
  ・ffdshow
   インストール
  ・Mpeg2DecFilter.ax レジストリ登録
       ↓
2013/08/25〔追記〕 3日半(uptime3days13h)経過
  離席中にハードハング → kp41
  その直前には、AleGr MEMTEST 1hもpass
  ・CCCP
  ・ffdshow
  ・Silverlight
  ・office 2000  アンインストール
       ↓
2013/08/27〔追記〕 2日(uptime2days4h)経過
  ・Process Blocker インストール
  ハードハング
  ffmpegでエンコード中(1時間半ほど経過でそろそろ終わる頃)
  カーソルがウェイト(腕時計)でそれ以外全部が固まり、カーソルも位置は固定
  腕時計だけが進む状態
  → 腕時計も止まって 完全ハング → kp41

  再起動後
  先ほどと同じffmpegを走らせる → 今度は完了 1:27:01 fps=35 qHD
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters の EnablePrefetcher の値を 3に戻す
  再起動
       ↓
2013/08/28〔追記〕
  androvmの終了時に 数分間にわたりハードハング ただし、pingは帰ってくる&イーサのLEDは点滅する
  → 数分後、画面が戻る(その間にやったショートカットalt+ctlr+delとかがパタパタと効く)

  ハング判定にpingが有効 らしい
       ↓
2013/08/29〔追記〕
  ウィンドウズの何たらが終了 みたいなアラートが出る
  → IMEが動かない → ctfmon.exeをwin+Rで起動で直る
       ↓
2013/08/29〔追記〕 (uptime1day20h)
  電源ボタン押しで スリープしようとしたら、そのままブラックアウト&フリーズ
  ping応答なし → 電源ボタン長押し → kp41 bugcheckcode0,powerbuttontimestampあり
   (その前にプチフリあり)
       ↓
  ディスプレイドライバをアップデート
  AMDのサイトから
  AMD Mobility Radeon^(TM) Driver Verification Tool 1.1 MB 13.4 5/29/2013

  日付:2011/09/15 → 2013/03/28
  バージョン:8.900.0.0 → 12.104.0.0

  途中画面ブラックアウト、も、ping応答あり、
  キーは何を押して無反応 画面をたたんで起こしたら写った

  終了して メモリを2GB増やして10GBに戻す
       ↓
2013/09/3〔追記〕 5日(uptime5days)
  タスクマネージャーが応答せずに → カーソルが停止(but,Rainmeterは動いている)
  → ctrl+alt+delでカーソルが腕時計になるもタッチパッドは効かない
  → Rainmeterも止まる、ping応答せず → 長押し → kp41
  5日持ったのは、あまりpcを使っていなかったため と思われる

  うは。mrdoc cutterとかでssdつこたら、うぇあれべりんぐが一気に進んだあlsdjf;orz

  powercfg /hibernate on にしてみる
       ↓
2013/09/5〔追記〕 2日 (uptime2days)
  スリープ復帰で黒画面のままping応答なし(イーサポートのLEDは点滅)
  40分放置も そのまま → 電源ボタン長押し → kp41 bagcheckcode0,timestampあり

  以下ドライバアップデート
  ・Realtek PCIe GBE Family Controller 2010/12/29 7.37.1229.2010 → 2011/06/10 7.46.610.2011
  ・Synaptics Other hardware 2011/05/19 15.3.8.0 → 2013/04/17 16.2.19.7
       ↓
2013/09/7〔追記〕 1日半(uptime1days14h)
  ハードハング
       ↓
2013/09/8〔追記〕 1日(uptime1days)
  ハードハング
       ↓
  スリープ移行で BSoD 9f
       ↓
2013/09/10〔追記〕 1日半 (uptime1day17h)
  ハードハング
  カーソルがとまり(Rainmeterはうごく、文字入力可)数十秒後全体がとまる
  → Eclipseで編集中だった為かandroidのソースファイル壊れる(真っ白け)。
  笑っちゃう。わらえねー
       ↓
2013/09/11〔追記〕
  やはりC300が怪しいかと思いTrim無効化してみる
  fsutil behavior set DisableDeleteNotify 1
  ちなみに 使用時間5456h で wearleveling48
  TEMP TMP をRamDiskのみにする(特に意味ないけどなんとなく)
       ↓
2013/09/12〔追記〕1日半 (uptime1day12h)
  9/10と同じ症状でハードハング
  XP以前のOSでは発症しなくて、C300が関連するとなると、SSDのTrimかな?と思い、Trimを無効にしてみたが、あえなく撃沈
  これはおそらく、Windows7側にも何かしらの問題があるが、C300もうまくWindows7の要求するデータを処理できていないのではないかと勝手に妄想する。(それってどんなよ;;)
  C300交換したいが、当てがないので、しばらく原因究明はあきらめ、一日一回再起動でkp41を回避する使い方をする。
       ↓
2014/06/14〔追記〕
  また、kp41ハードハングが頻発(多いと1日1回ほど)するようになったため、SSD C300を元々ついてきた日立の2.5inchHDDに換装
  しかし、ハードハングは頻発。
  一度、CPUの電圧不足っぽい止まり方をしたので、k10statをやめデフォルトのクロック、電圧で動かすも、はやりハードハングは発生。
       ↓
  これに関してはCrucial C300は冤罪と思われる。
  というわけで、こうなるとThinkPad本体の問題か、やはりWindows7か・・・・・

  つかれたよ。。パトラッシュ。。。。。
   もうThinkPadだからといってLenovoを買うのはやめるよ・・・・
     いまここ

     容疑者リスト(更新)
     第一容疑者
     ・OSそのもの (ドライバ等含む)
     ほぼホワイトリスト(当初疑ったが入れてなくてもkp41発症)
     ・SSD C300
     ・メモリ (2枚同時におかしいとは考えにくい やはりメモリは違うっぽいなぁ)
     ・k10stat (設定含め)
     ・RamDisk
     ・Flash player
     ・Speedfan
     ・afterburner
     ・VirtualBox
     ・avast
























デスクトップ機
前述どおりいきなりの再起動。
後からイベントビューアーを見て気付いたが、ノートと同じ2012/11ごろから発症する。
そのことで、MSUpdateも疑ったが、今のところ関係なさそう。

“自動的に再起動”のチェックをはずすことで、BSoDやエラーが見えてくるようになる。
jidoutekinisaikidou.png

BSoDや再起動がかかる前、アクセスランプつきっぱなしになり、しばらく(時には10分)普通に動いているが、system errorかなにかダイアログが出てBSoD等になることが増える。
       ↓
ノート同様、いくつかの対策を施すが効果なし
       ↓
2013/5/3 Windows7リインストール
       ↓
2013/5/10 やはりkp41発症
       ↓
日時失念 BIOSで電圧上げ (メモリ、cpu) → 効果なし
       ↓
日時失念 mitigate.bat 実施
       ↓
日時失念 その後も2度kp41発症 (記憶があいまい)
       ↓
2013/5/26 
     ・再度 mitigate.bat 実施
     ・WinHTTP Web Proxy Auto-Discovery Service → 無効
        └参照:『kp41 workaround』 → WinHTTPで検索
     ・Adobe Flash Player Update Service → 無効
        └参照:『kp41 workaround』 → Adobe Flashで検索
     ・デバイスマネージャーで以下の電源オプションのチェックをOff
        └キーボード、マウス、Lan
nic_property.pnghid_key_property.png
       ↓
この前後で、ページングファイルをCドライブにも16MBほどあげる。ダンプは“最小メモリ ダンプ”
       ↓
2013/5/30 BSoD c000021a → kp41
     speedfanのlogがおかしい(文字化け)
     ・speedfanの常駐やめる
     BSoD 21a解説:『ユーザー モードのプロセスにおいて、致命的なエラーが起きたために、Windows NT が処理を継続できなくなったことを示しています。
     『STOP:c000021a{Fatal system Error}の対処法を教えてください。 - マイクロソフト コミュニティ』を参照に以下を実施
     ・sfc /scannow → 問題なし
     ・チェック ディスク 参照:『チェックディスクの実行方法(Vista/7)
     <<結果>>
     0 KB in bad sectors
     1回目
     CHKDSK discovered free space marked as allocated in the
     master file table (MFT) bitmap.
     CHKDSK discovered free space marked as allocated in the volume bitmap.
     Windows has made corrections to the file system.

     Cleaning up 583 unused index entries from index $SII of file 0x9.
     2回目
     Cleaning up 2 unused index entries from index $SII of file 0x9.
     3回目
     Cleaning up 1 unused index entries from index $SII of file 0x9.
     4回目
     Cleaning up 4 unused index entries from index $SII of file 0x9.

     ・いくつかのタスクスケジュールを無効化 以下のもの(たぶんあまり関係ない)
     『【簡単】Windowsのタスクスケジューラから不必要なスケジュールを無効にする
       ↓
2013/6/7 ノートのBSoD 9fを参考にSigverif.exeを試す
      → ramdiskve.sysgiveio.sysがみつかる。
     ・ramdiskve.sys はDataram ramdisk(ノートと同じ)
     ・giveio.sys は何故かノートにはない。Speedfanが入れる事もあるようだが、謎。
     (Speedfanアンインストール時に消すか?って聞かれたからたぶんSpeedfanのせい)
     とりあえず問題なさそうなので、そのままにする。
     speedfanの常駐も戻す
       ↓
2013/6/8 21時すぎ HDDアクセスLEDがつきっぱなし(あやしい)
      → タスクマネージャを見ようとするが立ち上がらず
      → TVTestがタスクマネージャを立ち上げようとした頃から操作を受け付けず
      → TVTest勝手に終了
      → タスクマネージャが立ち上がらないというエラーメッセージ
      → BSoD 000000f4 → kp41
     BSoD f4解説:『システム・オペレーションに重要なプロセスかスレッドが、予期せぬ終了をしたか、終了させられたことを示しています。』との事だが、有用な対処法等わからず。
       ↓
2013/6/8 深夜 CドラのチェックディスクをやるCleaning up が2桁 → 再度やる → 一桁に
     Speedfanを起動せず、PCの時計を20時にしてタスクマネージャの実行中のタスクを眺めながら、再現実験
      → 再現せず
     ・Speedfanをアンインストール(&givio.sysも消える)
     (Speedfanが犯人とは思わないが、これで再び様子見)
     ・BSoDでダンプファイルができないようなので、TEMPのみCドラに
       ↓
2013/6/12 キーボードでスリープ解除できるよう、デバイスマネージャーの電源オプションを戻す
       ↓
2013/6/13 WOLも効くようにNICのデバイスマネージャーの電源オプションを戻す
       ↓
2013/6/21 CoreTempインストール(ポータブル版)ロギング開始
       ↓
2013/7/13〔追記〕 Adobe Flash Player Update Service を手動にする(戻す)。
     (デフォルトって手動だっけ?)
       ↓
2013/07/18〔追記〕 Realtek High Definition Audio Codecs ドライバーインストール
     (32bit_Vista_win7_win8R271.exe)
       ↓
2013/07/21〔追記〕 
     ・TEMPもRamdiskに
     ・Cドライブのページングを0に
     ・システムの復元無効化
     2013/6/8のBSoD f4以来kp41発症せず
       ↓
2013/08/05〔追記〕
    BSoD f4 minidumpとれず
       ↓
2013/08/06〔追記〕
    BSoD f4
    二日ともfirewall(PCToolsFirewall)のポップアップを無視し続けていたらしい
    (※家族共用)
    そのせい??
       ↓
2013/08/16〔追記〕
    BSoD f4 あらら・・・
       ↓
2013/08/20〔追記〕
    以前から気になっていた、resmonが外枠のみになるため
    文字サイズを 小-100%(規定) に
    参照『Microsoftコミュニティ-リソースモニターが起動しなくなった
    アプリの起動エラーも最近起きていたが問題はおそらくメモリ不足
       ↓
2013/08/23〔追記〕
    BSoD f4
    電池抜きcmosリセット
    BIOS:
    PCI-e
    Maximum Payload Size 4096 ← 128

    BSoD f4が再び起きるようにはなったが、真性のkp41はいまだ発症せず
    Speedfan の代わりに CoreTemp でロギングしてるが、CoreTempもやめればBSoD f4も収まるか?
       ↓
2013/08/31〔追記〕
    BSoD 9f
       ↓
2013/09/2〔追記〕
   Cドライブにpagefile 1GBを当てる。
   Windows7は32bit版でもメモリ4GB(BIOSの認識は3.2GB)では、ページ無しではメモリ不足になる。
       ↓
2013/09/4〔追記〕
   落雷の影響による停電 → kp41
       ↓
     いまここ (特に問題なくそれなりに好調。たぶん。)

ここまでのことからkp41が直ったと仮定してデスクトップ機に関しての結論。@2013/7/21
・真性のkp41病と思っていたが、“自動的に再起動”やページング、TEMPなどをRamDiskに置いていた、等から
 本来は シナリオ1として扱われていいはずが、ダンプも取れずBugCheckCodeも引き継げず仮性のkp41病だった。のかも。
・mitigate.batの有用性は不明
(電源のステートの切り替わりで問題が起きていないし、上記通りそもそも無関係かも)
・sfc /scannow 、 チェックディスクBSoD 21aには有用だったのかも
・別のマシンからのヒントだがSpeedfan(givio.sys)が原因か?
(givio.sysが入っていたのが謎だが怪しい。XP以前の場合に必要なアクセスライブラリらしいのだが)
メモリは関係なし
メモリ、CPUの電圧上げは関係なし
・デバイスマネージャーのキーボード、マウス、NICの電源オプションは関係なし




ちなみに、リインストール後に以前のログが見たくなり、保存してあるバックアップからログだけ見れるか調べてみた、のでメモ

C:\Windows\System32\winevt\Logs\System.evtx
をイベントビューアー右側の『保存されたログを開く...』でみれる (ダブルクリックでも OK)

<<参考>>
Windows 7 または Windows Server 2008 R2 で Windows カーネル イベント ID 41 エラー"システムは正常にシャットダウンする前に再起動しました" が発生する
kp41 workaround
STOPエラー (全てのコード : 2013年版)
オーバークロックする人の為のBSoDコード早見表

PageTop
epgrecのdo-record.shで録画終了時にtsselectを走らせてログにドロップの有無を吐くようにしてあるのですが、クライアントでTSファイルを見ているときにこのタイミングにあたると、ディスクIOを持っていかれてたまーにカクカクなるので、何とかしてみた。メモ。

cgroupというのでグループごとにいろいろと制限をかけれるらしい。
<<参考>>
cgroup でプロセス毎のDisk (block device) へのI/O の帯域制限 blkio.throttle.*
cgroup について理解する - いますぐ実践! Linuxシステム管理 / Vol.228
7.9. cgroupの使用事例
cgroupsによるIO帯域の制限
第3章 サブシステムと調整可能なパラメータ
openSUSE 12.3: 第10章 カーネルのコントロールグループ
2.9. コントロールグループ内のプロセスの開始 - Red Hat Customer Portal

インストール
[root@NAS ~]# yum install -y libcgroup
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: www.ftp.ne.jp
* extras: www.ftp.ne.jp
* rpmforge: ftp.riken.jp
* updates: www.ftp.ne.jp
15 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package libcgroup.x86_64 0:0.37-4.el6 will be updated
---> Package libcgroup.x86_64 0:0.37-7.1.el6 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================
Package Arch Version Repository Size
==============================================================================================
Updating:
libcgroup x86_64 0.37-7.1.el6 updates 111 k

Transaction Summary
==============================================================================================
Upgrade 1 Package(s)

Total download size: 111 k
Downloading Packages:
libcgroup-0.37-7.1.el6.x86_64.rpm | 111 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : libcgroup-0.37-7.1.el6.x86_64 1/2
Cleanup : libcgroup-0.37-4.el6.x86_64 2/2
Verifying : libcgroup-0.37-7.1.el6.x86_64 1/2
Verifying : libcgroup-0.37-4.el6.x86_64 2/2

Updated:
libcgroup.x86_64 0:0.37-7.1.el6

Complete!
[root@NAS ~]# ls /cgroup   確認:インストールだけでは何も無いらしい
[root@NAS ~]# chkconfig cgconfig on
[root@NAS ~]# service cgconfig start
Starting cgconfig service: [ OK ]
[root@NAS ~]# ls /cgroup/   確認:サービスを立ち上げることで何かできた
blkio cpu cpuacct cpuset devices freezer memory net_cls
[root@NAS ~]# lssubsys    サブシスの確認:上記と同じだけある
cpuset
cpu
cpuacct
memory
devices
freezer
net_cls
blkio
[root@NAS ~]#


DiskIOの制限
blkio(ブロックアイオー?)で出来るらしい。
[root@NAS ~]# ls /cgroup/blkio   いろいろある
blkio.io_merged blkio.throttle.io_service_bytes blkio.weight_device
blkio.io_queued blkio.throttle.io_serviced cgroup.event_control
blkio.io_service_bytes blkio.throttle.read_bps_device cgroup.procs
blkio.io_serviced blkio.throttle.read_iops_device notify_on_release
blkio.io_service_time blkio.throttle.write_bps_device release_agent
blkio.io_wait_time blkio.throttle.write_iops_device tasks
blkio.reset_stats blkio.time
blkio.sectors blkio.weight

blkio.throttle.read_bps_deviceblkio.throttle.write_bps_device に書き込むことでbpsでDiskIOを制限できる。
書式は Major:Minor 設定値
Major:Minor は
[root@NAS ~]# ls -l /dev/sda
brw-rw----. 1 root disk 8, 0 Jun 19 22:26 /dev/sda
という感じで、ls -l で/dev/sdaが8:0とわかる。らしい。
ちなみに、パーティションが分かれている場合 /dev/sda1 で 8, 1 とかになるが、cgroup側で認識できない場合があるらしい。その場合は/dev/sdaの8:0と全体でやる。らしい。

実験
まだ何も無いことを確認
[root@NAS ~]# cat /cgroup/blkio/blkio.throttle.write_bps_device
/tmpを使う
[root@NAS ~]# df /tmp
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 477615072 406492672 66271500 86% /
[root@NAS ~]# ls -l /dev/sda
brw-rw---- 1 root disk 8, 0 Jun 9 19:30 /dev/sda

まず、制限なしで計測
[root@NAS ~]# time dd if=/dev/zero of=/tmp/ddtest bs=100M count=10
10+0 records in
10+0 records out
1048576000 bytes (1.0 GB) copied, 8.42001 s, 125 MB/s

real 0m8.592s
user 0m0.000s
sys 0m4.419s

キャッシュのフラッシュとかおまじない
[root@NAS ~]# sync
[root@NAS ~]# echo 3 > /proc/sys/vm/drop_caches

10MB/sに制限
[root@NAS ~]# echo "8:0 10487560" > /cgroup/blkio/blkio.throttle.write_bps_device
確認
[root@NAS ~]# cat /cgroup/blkio/blkio.throttle.write_bps_device
8:0 10487560

計測
[root@NAS ~]# time dd if=/dev/zero of=/tmp/ddtest bs=100M count=10
10+0 records in
10+0 records out
1048576000 bytes (1.0 GB) copied, 83.1922 s, 12.6 MB/s

real 1m23.527s
user 0m0.000s
sys 0m5.021s
[root@NAS ~]#
ちょっち速くね?

ちなみに、ディスクIOを確認するのにiostatiotopが便利。
[root@NAS ~]# iostat -xtcm 2
オプションは、拡張表示、更新時間を表示、cpu使用率を表示、MBで表示、2秒更新
<<参考>>
iostat(1) - Linux man page

iotopはtopみたいにIOを表示する。インストールされてなかったので、インストールから
[root@NAS ~]# yum install iotop
使い方
[root@NAS ~]# iotop -u apache
オプションは
-u user
-p pid
<<参考>>
iotop日本語man

また、制限をなくす場合は、0を書き込む
[root@NAS ~]# echo "8:0 0" > /cgroup/blkio/blkio.throttle.write_bps_device
[root@NAS ~]# cat /cgroup/blkio/blkio.throttle.write_bps_device
[root@NAS ~]#

さらに、いくつものデバイスに対して制限を掛ける場合も、ひとつずつ > で書く。
>> でも書けたようだが>が普通みたい。




ただ、これだと一つのデバイスに関わるプロセス全てに制限がかかっているだけなので意味がない。

そこで、プロセスごとに制限をかけるためにグループを作り、そのグループの中のtasksにPIDを入れるとそのプロセスがグループで制限対象になる。らしい。
ディレクトリを作ると、グループが出来るらしい。
[root@NAS ~]# mkdir /cgroup/blkio/test
[root@NAS ~]# ls /cgroup/blkio/
blkio.io_merged blkio.throttle.io_service_bytes blkio.weight_device
blkio.io_queued blkio.throttle.io_serviced cgroup.event_control
blkio.io_service_bytes blkio.throttle.read_bps_device cgroup.procs
blkio.io_serviced blkio.throttle.read_iops_device notify_on_release
blkio.io_service_time blkio.throttle.write_bps_device release_agent
blkio.io_wait_time blkio.throttle.write_iops_device tasks
blkio.reset_stats blkio.time test
blkio.sectors blkio.weight
[root@NAS ~]# ls /cgroup/blkio/test
blkio.io_merged blkio.sectors blkio.time
blkio.io_queued blkio.throttle.io_service_bytes blkio.weight
blkio.io_service_bytes blkio.throttle.io_serviced blkio.weight_device
blkio.io_serviced blkio.throttle.read_bps_device cgroup.event_control
blkio.io_service_time blkio.throttle.read_iops_device cgroup.procs
blkio.io_wait_time blkio.throttle.write_bps_device notify_on_release
blkio.reset_stats blkio.throttle.write_iops_device tasks

[root@NAS ~]# echo "8:0 10485760" > /cgroup/blkio/test/blkio.throttle.read_bps_device
[root@NAS ~]# cat /cgroup/blkio/test/blkio.throttle.read_bps_device
8:0 10485760

以下の書き方をすれば、PIDを渡しながらコマンドを実行できる
cgexec -g subsystems:path_to_cgroup command arguments
[root@NAS ~]# cgexec -g blkio:test command command_arg

もちろん
[root@NAS ~]# command command_arg &
echo $! > /cgroup/blkio/test/tasks
としても実行は可能。
コマンドを走らせて、psでpid調べてechoしても当然可能。

実験は省略(というか、よくわからないけどddだとうまくいかない。なんで?VirtualBox上の外付けUSBHDD(NTFS)でやったときは、ddではなくmountNTFSとかいうプロセスを/cgroup/blkio/test/tasksに入れたらうまく行った。)

cgroupがリスタートすると作ったグループ(フォルダ)は消えるので(たぶん)
/etc/cgconfig.conf に設定を書いておけば、cgroupサービスが走るたびにグループの設定が勝手に出来る。みたい。
/dev/sdbに50MB/sのreadcapをかけたグループを作り、do-record.shでcgexecを使ってtsselectを呼び出してみた。
[root@NAS ~]# vi /etc/cgconfig.conf
#
# Copyright IBM Corporation. 2007
#
# Authors: Balbir Singh
# This program is free software; you can redistribute it and/or modify it
# under the terms of version 2.1 of the GNU Lesser General Public License
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it would be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# See man cgconfig.conf for further details.
#
# By default, mount all controllers to /cgroup/

mount {
cpuset = /cgroup/cpuset;
cpu = /cgroup/cpu;
cpuacct = /cgroup/cpuacct;
memory = /cgroup/memory;
devices = /cgroup/devices;
freezer = /cgroup/freezer;
net_cls = /cgroup/net_cls;
blkio = /cgroup/blkio;
}

group sdb_readcap50MB {
blkio {
blkio.throttle.read_bps_device="8:16 52428800";
}
}


[root@NAS ~]#

do-record.shには適度にコマンドを埋め込んた。
tsselece.shはtsselectで適度にログを吐くようにスクリプトを書いてある。
sudo cgexec -g blkio:sdb_readcap50MB /usr/local/bin/tsselect.sh ${file}
cgexec はsudoが必要らしい。※visudo忘れずに。
tsselect.shの中でtsselectを呼んでいるが、ターミナル上ではフルパスじゃなくても動いたのに、スクリプトでcgexecからだとフルパスじゃないと動かない。何故かわからないが、まぁ、環境変数の絡みなんだろう・・・めんどいので調べてない。
cgexec.png
制限がかかってる様子。上がiostat -xcm 2 下はiotop
制限なしだと100MB/sとか120MB/sとか出てる
クライアントで2倍速くらいで見ててもカクカクしなくなって満足。

PageTop
VirtualBox上のCentOS6.4からUSB接続のHDDは見れるのかなーとやってみたメモ。

VirtualBoxのツールバーからそれらしきものにチェックを入れるだけ。
vb_centos_usbhdd.png
すると、しばらくしてホスト(Windows7)でなにやらドライバがPnPされて、勝手に使えるようになる。みたい。
(USBHDDの電源ランプが消えるが1~2分は待ってみたほうがいいみたい。ゲストのLinux側でマウントできるまで少しかかる。)

ただし、今回はゲスト(CentOS6.4)が標準でNTFSに対応していないのでマウントしようとすると、『そんなファイルシステム知らないです』といわれる。
vb_centos_mount_usb.png

ので、後は、CentOSでNTSFにアクセスできるようにするメモ。
CentOS/CentOSでntfsドライブをマウントする』の丸パクリ。

EPEL6を使うです。
毎回書いてある通りにやるだけで、理解してないです。
http://dl.fedoraproject.org/pub/epel/6/x86_64/repoview/epel-release.html

bash-4.1$ su
Password:
[root@localhost vb]# cd /_Share
[root@localhost _Share]# rpm -ivh epel-release-6-8.noarch.rpm
warning: epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing... ########################################### [100%]
1:epel-release ########################################### [100%]
[root@localhost _Share]# ls -la /etc/yum.repos.d/epel.repo
-rw-r--r--. 1 root root 957 Nov 5 2012 /etc/yum.repos.d/epel.repo
[root@localhost _Share]# yum search ntfs
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
epel/metalink | 4.8 kB 00:00
* base: ftp.riken.jp
* epel: ftp.riken.jp
* extras: ftp.riken.jp
* updates: ftp.riken.jp
base | 3.7 kB 00:00
epel | 4.2 kB 00:00
epel/primary_db | 5.3 MB 00:08
extras | 3.5 kB 00:00
home_sawaa | 1.3 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 3.1 MB 00:05
epel/pkgtags | 303 kB 00:00
============================== N/S Matched: ntfs ===============================
ntfsprogs.i686 : NTFS filesystem libraries and utilities
ntfs-3g.i686 : Linux NTFS userspace driver
ntfs-3g.x86_64 : Linux NTFS userspace driver
ntfs-3g-devel.i686 : Development files and libraries for ntfs-3g
ntfs-3g-devel.x86_64 : Development files and libraries for ntfs-3g
ntfsprogs.x86_64 : NTFS filesystem libraries and utilities
ntfsprogs-devel.i686 : Headers and libraries for libntfs
ntfsprogs-devel.x86_64 : Headers and libraries for libntfs
ntfsprogs-gnomevfs.x86_64 : NTFS GNOME virtual filesystem module

Name and summary matches only, use "search all" for everything.
[root@localhost _Share]# yum install ntfs-3g
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* epel: ftp.riken.jp
* extras: ftp.riken.jp
* updates: ftp.riken.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package ntfs-3g.x86_64 2:2011.4.12-5.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
ntfs-3g x86_64 2:2011.4.12-5.el6 epel 247 k

Transaction Summary
================================================================================
Install 1 Package(s)

Total download size: 247 k
Installed size: 624 k
Is this ok [y/N]: y
Downloading Packages:
ntfs-3g-2011.4.12-5.el6.x86_64.rpm | 247 kB 00:00
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
Userid : EPEL (6)
Package: epel-release-6-8.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
Installing : 2:ntfs-3g-2011.4.12-5.el6.x86_64 1/1
Verifying : 2:ntfs-3g-2011.4.12-5.el6.x86_64 1/1

Installed:
ntfs-3g.x86_64 2:2011.4.12-5.el6

Complete!
[root@localhost _Share]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 8255928 2854748 5317332 35% /
tmpfs 510128 232 509896 1% /dev/shm
/_Share 3142652 489960 2652692 16% /_Share
/dev/sdb2 142954492 57138008 85816484 40% /media/ボリューム
[root@localhost _Share]#

PageTop
ThinkPadEdge E525(ノート)のWindows7上にVirtualBoxを入れたら、なぜか無線Lan使用時にMagicPacketが送れなくなった。

有線Lanをつなぐと問題ない。

で、
ネットワークと共有センター で VirtualBox Host-Only Network を無効にしたら、無線側からも送れるようになった。

VirtualBox Host-Only Network を無効にしても、ゲストOSはVirtualBoxのNATでつながってるので、インターネットにはつながる。

VirtualBox Host-Only Network は ホストOSからゲストOSへつなぐときに必要らしい。
参考:
VirtualBox環境構築:CentOS - ネットワーク設定
VirtualBox を利用する際のネットワーク設定の話
ネットワーク設定 | VirtualBox Mania
今のところ不要なので無効で対処。
しかしなんでかなぁ?


パケットを見るのに使ったのは
Microsoft network monitor 3.4
MSがこんなソフト公開してるとは知らなかった。
WireShark(Ethereal)と大して変わらんけど・・・・

PageTop
VirtualBoxのゲストにCentOS6.4をいれて、xmodmapを実行したけど、なぜかその設定が再起動のたびに失われてる。
どうも、起動のたびに実行しないといけないの?

ということで、rc.localに入れたけどうまくいかないので、

GUI上の
システム > 設定 > 自動起動するアプリ
xmodmap.png

のほうでやったらうまくいった。
※書式が間違っていると文句も言わずにただ読み込まれないだけなので注意
コマンドラインで実行してみるとエラーがあればどの行か教えてくれる。




おわり。

xmodmapめも

#vi /home/name/.Xmodmap

!!! !マークはコメントになります!!!

! Alt と Control 入れ替え
remove mod1 = Alt_L
remove mod1 = Alt_R
remove Control = Control_L
remove Control = Control_R
keysym Control_L = Alt_L
keysym Alt_L = Control_L
keysym Control_R = Alt_R
keysym Alt_R = Control_R
add Control = Control_L
add Control = Control_R
add mod1 = Alt_L
add mod1 = Alt_R

! 無変換 に Ctrl
add Control = Muhenkan

PageTop
THinkPadにLinuxMintをデュアルブートで入れたけど、ドライバのせいかBIOSのせいかやる気のせい(え?)か知らないけれど、Linuxでは常にバッテリーがフル充電されるという面倒くさい状態なので、デュアルブートをやめて、win7上で仮想化することにしてみた。
で、流行り(?)のVMwareを入れようとしたが、マイクロソフトのインストーラーがなんちゃらのエラーでインストールがうまくいかないので、VirtualBoxにした。
ちなみに、ゲストはCentOS6.4
LiveCDのisoを落としてきてVirtualBoxの仮想ディスクに割り当てる。

まぁ、VirtualBoxのインストールとゲストOSのisoを落としてきて、マウントし、インストールするまでは、大した事ないというか、いじってればすぐわかるのでいいとして(ぉぃ)、それ以降のVirtualBox特有のところをメモ

まず、GuestAdditionsというのを入れるとよい
入れないと、マウスをいちいち切り替えないといけない、とかホストとゲストでこぴぺが出来ないとか色々・・・

で、ゲストにCentOS6.4を入れた今回の場合。

gcc、make、kernel-develが必要なので入れる。

# yum install gcc make kernel-devel

で、よく知らんけど、GUIのデスクトップ上にすでにVBOXADDITIONSなんたらっていうCDがマウントされてるので、その中からVBoxLinuxAdditons.runとか何とか(当然.exeじゃないやつ)、を適当に端末から実行すると、

# sh /media/VBOXADDITIONS_4.2.12_84980/VBoxLinuxAdditions.run

GuestAdditionsのインストールのところで失敗するので(失敗しなければ成功で終了)、なんか出てるメッセージを読んで(ぉぃ)なんかを入れて、またやったらうまくいく。(たぶんkernel-develのバージョンが違ったのでそっちを入れろとか何とか)


そして、シームレスモードが素敵なので、シームレスモードにするとよい。


次に、共有フォルダを作る
この辺も、適当にいじってればわかる(ぉぃ)けど、起動のたびに勝手にはマウントしてくれないようなので(オプションに自動マウントとかあるのに、なぜ?)、fstab

# vi /etc/fstab

[共有フォルダ名]	[共有フォルダのパス]	vboxsf	defaults 0 0


とすれば、起動の際にマウントされる。

PageTop
自分用ブックマーク的メモ書き
参考HPの丸パクリ
<<参考>>
CentOS mozcをインストールする方法

Mozc とは、 Google IME のオープンソース版
http://code.google.com/p/mozc/


リポジトリを追加する


$ wget http://download.opensuse.org/repositories/home:/sawaa/CentOS_CentOS-6/home:sawaa.repo
$ su
# cp home:sawaa.repo /etc/yum.repos.d/sawaa.repo
# rm home:sawaa.repo



インストール

$ su
# yum -y install ibus-mozc


あとは、Gnomeから システム > 設定 > 入力メソッド でibusを使用
メニューバーにアイコンが出てくるので色々いじる。

おわり。

PageTop
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。