[ カテゴリー » 日 記 ]

Windows記憶域プールでRepair-VirtualDiskが完了しない

Windows Server 2019で作ってた記憶域プール、知らない間に構成ドライブの1/4がRetiredになっていたようで、Virtual diskが2つほど'No Redundancy'になっておりました。GUIからRepair Virtual Diskを選択したのですが、一向に終わる気配がないのでPower Shellから調べてみると、

PS C:¥Windows¥system32> Get-StorageJob

Name           IsBackgroundTask ElapsedTime JobState  PercentComplete BytesProcessed BytesTotal
----           ---------------- ----------- --------  --------------- -------------- ----------
VDisk1-Repair  True             00:48:19    Suspended 0                          0 B     256 MB
VDisk2-Repair  True             00:48:19    Suspended 0                          0 B     256 MB

と、JobがSuspendedのまま。Retiredになったドライブを除去しようにも、Virtual Disk Repairが先だと拒否。

調べたところOptimize-StoragePoolなるコマンドがあるようで、実行。2フェーズあるようですが、1フェーズが終わったところで

PS C:¥Windows¥system32> Optimize-StoragePool -FriendlyName 'pool0'
Optimize-StoragePool : Unspecified Error

Extended information:
Unspecified error

Activity ID: {........-....-....-....-............}
At line:1 char:1
+ Optimize-StoragePool -FriendlyName 'pool0'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (StorageWMI:ROOT/Microsoft/...SFT_StoragePool) [Optimize-StoragePool], Cim
   Exception
    + FullyQualifiedErrorId : StorageWMI 2,Optimize-StoragePool

エラー終了。しかしGet-StorageJobで確認したところ、

Name                IsBackgroundTask ElapsedTime JobState  PercentComplete BytesProcessed BytesTotal
----                ---------------- ----------- --------  --------------- -------------- ----------
pool0-Optimize      False            01:09:46    Running   91                    670.5 GB     736 GB
VDisk0-Regeneration True             00:00:02    Running   4                    344.25 MB       8 GB
VDisk1-Repair       True             02:09:38    Suspended 0                          0 B     256 MB
VDisk2-Repair       True             02:09:38    Suspended 0                          0 B     256 MB

Suspend中のRepairも含めて全Virtual DiskのRegenerationとRepairが現れては消えるを繰り返しているようです。pool0-OptimizeのBytesTotalも徐々に増えていくようで、それに応じてPercentCompleteも後退する時もあり当てにならない。

もしかして構成ドライブの個数だけ繰り返すのだろうか?24個あるんだが…、というわけで休日後再確認。

[参考]

— posted by mu at 06:54 pm   commentComment [0]  pingTrackBack [0]

Pythonでnumpy.ctypes.data_as()→C側でAccess violation

YOLOLink リポジトリに含まれるdarknet_images.pyに複数画像一括処理を行うbatch_detectionという関数があるのですが、2枚以上の画像を処理させようとするとC側関数実行中にOSError/access violation例外が発生。1枚(要素数1の配列を渡す)は正常に処理されることから、ポインタの渡し間違いという類ではなさそう。

結論

import numpy as np
from ctypes import *

def makeArray():
    arr = numpyの配列を作る
    return arr.ctypes.data_as(ctypes.POINTER(ctypes.c_float))


c_func(makeArray())

みたいに関数でnumpy配列作ってctypesのポインタだけを返している場合、arrのサイスが大きいと関数抜けた時点でarrがガベージコレクションされてしまい、data_as()で得たアドレスはc_funcが呼ばれる前に無効になる可能性がある。

今回のYOLOの件は画像1枚だとたまたまガベコレされなかっただけで、本質的には危険なのでしょう。具体的にはdarknet_images.pyのprepare_batch()関数でbatch_arrayがガベコレされてしまいます。手っ取り早い解決としては、同ファイル内で
  • prepare_batch()の返値にbatch_arrayを含めるようにし、呼び出す側のbatch_detection()はC関数darknet.network_predict_batch()を呼び終えるまでbatch_arrayを保持する
  • prepare_batch()とbatch_detection()を一つの関数にまとめ、batch_arrayがガベコレされないようにする

でしょうか。前者はコード的にあまり美しくなさそうですが。

私と同じ問題にあたる人は稀でしょうが、本質的な理由はWindows/Linux関係なく起こりそう。ctypesのいい勉強になりました。

[参考]

— posted by mu at 07:18 pm   commentComment [0]  pingTrackBack [0]

全豪オープンテニス

2年前Link 1行目と同じ。

— posted by mu at 02:49 pm   commentComment [0]  pingTrackBack [0]

Pixel4a購入

20200826-Pixel4a-1-350x263

SH-06Eからの買い替え。今まで携帯電話・タブレットはバッテリーが持たなくなり替えの入手も困難になるまで使い続けていたものですが、こいつはバッテリー交換もなく約6年半経っても丸一日持つ、2時間通話しても持つ、ということで私的には寿命判定にならない。アプリケーションを終了させましたメッセージが連発して再起動せざるを得ないという不具合があったものの、頻度は月一くらいなのでそれほどストレスも溜まらない。

がAndroidバージョンの古さから、バージョンアップできないアプリがちらほら出始め、某接触確認アプリも入れられない、ついにはLINEからも見捨てられることになったので、ようやく買い替えを決断。そんなおサイフケータイ依存症の私を狙ったかのタイミングで発売されたPixel4aが後継機となったのでした。ライトユーザーがミドルレンジ買って何に使う?

しかしさ配送予定日が27-28日だったのが26日に繰り上がり、それを前日の夜中にいきなり「発送済み」メール送ってくるのはどうかと思うの。これ用のnano SIM配達予定連絡が当日早朝だったIIJmioよりはましだけどw

— posted by mu at 10:34 pm   commentComment [0]  pingTrackBack [0]

今年のココイチスプーン

blog20200119-CocoichiSpoon2020

一発当たり、しかも金。2本目狙おうかな…と欲張ると当たらないコース。

[2020/3/2 追記] 最終結果、銀1本、金3本、打率5割。こんなの絶対におかしいよ!

— posted by mu at 12:59 pm   commentComment [0]  pingTrackBack [0]

T: Y: ALL: Online:
ThemeSwitch
  • Basic
Created in 0.1460 sec.
prev
2025.4
next
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30