2019年06月19日
川俣晶の縁側ソフトウェアその他開発日誌total 712 count

Mega Picturesでファイルサーバの画像ファイルをローカルに転送して処理すると落ちる

Written By: 川俣 晶連絡先

問題 §

 Mega Picturesでファイルサーバの画像ファイルのデータベースを新規作成して問題なくできる。

 同じファイルをローカルディスクに転送してからデータベースを新規作成するとエラーで落ちる or 極端にスローダウンする。他のソフトも正常動かなくなる。

原因 §

 ファイルサーバ上の画像ファイルからデータベースを作成した場合と、ローカルファイル上で作成した場合では数ギガ単位で所要メモリ量が変化する。従って、たとえ同じファイルであっても、ローカルディスクに転送して処理するとメモリ不足に陥る可能性がある。以下は全てメモリ不足で起こる現象である。

  • エラーで落ちる
  • 極端にスローダウンする
  • 他のソフトも正常動かなくなる

解決 §

 データベースの新規作成時に"Run slowly and Less Memory"のチェックを入れる。

解決についての解説 §

 データベース作成のパス2は、非常に時間が掛かるため通常はマルチスレッドでコア数分だけ並行処理させている。"Run slowly and Less Memory"のチェックを入れるとこれをシングルスレッドで処理するようになり、速度は低下するがメモリを消費しないようになる。

 しかし、この場合は速度の低下は起こらないかもしれない。なぜなら、メモリ消費量が過大になると頻繁に補助記憶とのスワップが発生して処理がスローダウンするからである。更に消費量が増えると、処理そのものが進まなくなり、永遠に完了できない。それなら、シングルスレッドでゆとりあるメモリで走った方が速い。

原因についての解説 §

 この処理は、全てOS側の問題である。

 Mega Picturesでは特にファイルサーバとローカルで処理を分けたりはしていない。

 

補足 §

 ローカルファイルを処理した際に落ちることは前々から分かっていて、どこでどういう例外が起きるか分かっていたのでこのバグをFIXしようと思って調査したところ、上記のような問題が判明した。

Facebook

キーワード【 川俣晶の縁側ソフトウェアその他開発日誌
【その他開発日誌】の次のコンテンツ
2019年
06月
21日
Webブラウザ無料RPG・ONION-80 80人のタマネギ戦士の妹達
3days 0 count
total 792 count
【その他開発日誌】の前のコンテンツ
2019年
03月
05日
GuidInserter2 Version 4.0 Visual Studio 2019対応
3days 0 count
total 562 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20190619102953
サイトの表紙【その他開発日誌】の表紙【その他開発日誌】のコンテンツ全リスト 【その他開発日誌】の入手全リスト 【その他開発日誌】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.34 (Alpha-Test) Copyright (c) 2004-2018 Pie Dey.Co.,Ltd.