次の方法で共有

PowerShellスクリプトの実行終了後、しばらくの間各ウィンドウが応答しなくなる原因を調査したい

Anonymous
2021-07-20T06:38:40+00:00

PowerShellのスクリプトを実行し、スクリプトが終了してから数秒~数十秒後、エクスプローラーなどが固まってしばらくの間応答しなくなります。エクスプローラーであれば、フォルダパスの欄にプログレスバーのグラフが出るか、タイトルバーに「(応答なし)」が表示されるかです。他のウィンドウも「(応答なし)」が出ます。

スクリプト内で何かのリソースを過剰に確保する・解放漏れがあるといったミスを想像しているのですが、こういったミスがあるかどうか、どのような内容のミスか、といったことを調査する方法はないでしょうか。

PowerShellのスクリプトは以下の環境で実行しています。

Windows 10 Pro (21H1)

Name Value


PSVersion 5.1.19041.1023

PSEdition Desktop

PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}

BuildVersion 10.0.19041.1023

CLRVersion 4.0.30319.42000

WSManStackVersion 3.0

PSRemotingProtocolVersion 2.3

SerializationVersion 1.1.0.1

家庭向け Windows | Windows 10 | 設定

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

5 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2021-07-26T02:50:40+00:00

    自己解決しました。

    スクリプト内でExcelファイルを参照しているのですが、各種オブジェクトを全て解放しなければいけないところで、ワークシート集合のオブジェクト解放が漏れていました。

    この解放を追加したところ応答しなくなる現象が起きなくなったので、これが原因だったようです。

    0 件のコメント コメントはありません
  2. Anonymous
    2021-07-26T02:47:06+00:00

    Hebikuzureさま

    Q&Aサイトのご紹介ありがとうございます。

    0 件のコメント コメントはありません
  3. Hebikuzure aka Murachi Akira 320.6K 評価のポイント MVP ボランティア モデレーター
    2021-07-21T07:17:53+00:00

    どのようなスクリプトを動作させているのか分かりませんが、普通にデバッグすれば良いのでは?

    デバッグの方法はここで取り扱う範囲から外れるので、分からなければ自分で勉強するか、windows-server-powershell - Microsoft Q&A で質問しましょう。

    0 件のコメント コメントはありません
  4. Anonymous
    2021-07-21T00:55:24+00:00

    Takashi NISHIIEさま

    ご教示ありがとうございます。

    メモリは16GB搭載したPCで実行しており、スクリプト実行中・実行後しばらくの間の空きメモリは約10GBありました。

    それから子プロセスについてProcess Explorerで確認してみましたが、スクリプト実行はpowershell.exeの子プロセスではなくスレッドで実行している様子でした。このスレッドはスクリプト起動時にCPU使用率が5%程度に上がり、実行後すぐにほぼ0%に下がったまま生き残り、再度スクリプトを起動したときに再利用されているようでした。

    どうやら教えていただいた状況とは違った現象が起きているようです。

    0 件のコメント コメントはありません
  5. Anonymous
    2021-07-20T09:21:29+00:00

    PowerShell ver.5.1自体結構重いプログラムで900MB以上メモリを消費します。メモリ不足になっていませんか?

    あとは、タスクマネージャーやProcess ExplorerなんかでPowerShellやスクリプトから起動した子プロセスが残っていないかどうか確認する程度でしょう。

    0 件のコメント コメントはありません