В моей компании мы столкнулись с некоторыми проблемами памяти в последнее время. Одна вещь, которую мы сделали, - увеличить размер кучи в JRUN, но теперь мы замечаем некоторые побочные эффекты.Как выполняются теги CFX в Coldfusion 8?
Один из них - это тег CFX, который обрабатывает изображения. Когда мы его используем, он не может загружать файлы, которые мы иногда приводим. Наша нынешняя идея заключается в том, что для обработки изображений все изображение должно загружаться в память. Похоже, что это приводит к ошибкам в больших файлах, на которые потребуется 200 МБ памяти для хранения всего.
Что я хочу знать, так это то, как Coldfusion обрабатывает загрузку и выполнение тегов CFX. Поскольку тэг CFX, в частности, был написан на C++, я бы подумал, что он не обязательно будет использовать кучу Coldfusion (поскольку она хранит только данные Java), и мы не видим кучевых всплесков, когда мы что-то обрабатываем.
Я предполагаю, что главный вопрос заключается в том, как выполняется CFX: выполняется ли он как поток под JRUN или создается собственный процесс Windows, который работает в своем собственном пространстве пользователя? И, если он работает под JRUN, какое пространство памяти это использует при выполнении, и есть ли способ контролировать его?
благодарит за ответ. если эти данные загружаются в кучу, почему мы не видим всплески в использовании кучи при мониторинге с помощью jconsole или visualvm? – jzimmerman2011
Я не уверен ... может быть, сообщение? jconsole сообщает об объектах, которые обозначены как короткие (eden) или long (tenured). Этот объект создается до полного его чтения, а затем он исчезает довольно быстро ... но я не уверен, где он живет. Я знаю только, что это проблема, с которой мы сражались на протяжении многих лет. файловые операции для больших файлов в CF всегда были iffy. –
круто, спасибо за информацию. мы не увидели эти всплывающие окна, пока мы не увеличили кучу (сейчас сидит на 1 ГБ), поэтому нам было интересно, загружены ли эти вещи за пределы кучи холода. если бы это было так, тогда было бы разумно, поскольку куча занимала больше памяти, которая время от времени использовалась для загрузки этих изображений. – jzimmerman2011