私の会社では、最近メモリの問題が発生しています。私たちが行ったことの 1 つは、JRUN のヒープ サイズを増やしたことですが、現在、いくつかの副作用に気付いています。
そのうちの 1 つは、画像を処理する CFX タグです。それを使用すると、時々与えられたファイルを読み込めません。現在の考えでは、画像を処理するには、画像全体をメモリにロードする必要があります。全体を保存するには200 MB以上のメモリが必要な大きなファイルでのみエラーが発生するようです。
私が知りたいのは、Coldfusion が CFX タグの読み込みと実行をどのように処理するかです。特に CFX タグは C++ で記述されているため、必ずしも Coldfusion ヒープを使用するとは限らないと思います (Java データのみを格納するため)。また、何かを処理するときにヒープ スパイクが発生することはありません。
主な問題は、CFX がどのように実行されるかということだと思います。CFX は JRUN の下でスレッドとして実行されますか、それとも独自のユーザー空間で実行されるネイティブ Windows プロセスが作成されますか? また、JRUN で実行する場合、実行時にどのメモリ領域を使用し、それを監視する方法はありますか?