よくあるご質問(Phase2Server)
Top / サービス一覧 / 旧サービス / Phase2Server / よくあるご質問(Phase2Server) / pkgコマンドでMemoryErrorが発生する

pkgコマンドでMemoryErrorが発生する

問題

pkgコマンドの操作時に、Traceback後、MemoryErrorが発生する。

理由

OpenSolarisのpkgコマンドはPythonで記述され、メモリを非常に多く消費する傾向があります。

pkgコマンドのMemoryErrorは、Out of Memoryを意味しており、メモリ使用量が多すぎる場合に発生するエラーです。

解決方法

システム全体のMemoryの消費量を下げることにより、動作させることができます。

下記の回避方法を行うことで、pkgコマンドを正常に動作させることことができる場合があります。

  • 再起動(init 6)を行った直後に、pkgコマンドを利用する。
    • 再起動直後はメモリの使用量が少ないため。
  • svcsコマンドで動作してるサービスをチェックし、不要なサービスを落とす(svcadm disable 〜)。
  • prstat -s rssでRSSの量を確認し、メモリを多量に使っているサービスを「一時的に」終了する。
  • pkg authorityあるいは、pkg publisherコマンドでレポジトリを沢山登録している場合、一時的にunsetして減らす。
    • 必要な物を減らしてしまった場合、動作に異常がでることがあるので、ご注意ください。
    • unsetの方法は、OpenSolarisのパッケージ管理を参照してください。
  • メモリをより多く使用できる、上位のプランに変更する。
Private CloudPrivate Cloud
StorageStorage
NetworkNetwork