2013-08-19 2 views
0

У меня возникли проблемы с оркестровкой Cast Iron, которую я пытаюсь запустить в Studio. Когда я оставляю только размер кучи по умолчанию (512 МБ), работа замерзает около 39 тыс. Записей. Когда я удваиваю кучу до 1024 МБ (максимальная), она зависает при записях 80 КБ. Таким образом, довольно очевидно, что работа сохраняет что-то каждый раз, когда цикл работает. Но какие типы циклических действий сохраняют данные между циклами?Утечка памяти для оркестровки Cast Iron

Включает изображение моей оркестровки здесь, чтобы показать, насколько проста эта работа. Для перевода значения используется только одна функция javascript (в операции чтения XML). Это специальная функция, которую я написал, которая использует только локальные вары (при условии, что между функциями может быть какой-то общий объем). Here it is.

Активность обновления также является вставкой (это чугун 6.4).

Есть ли что-нибудь об одном из этих шагов, которое сохраняет переменные от шага к этапу? Я повторно использую одну и ту же переменную цикла, которая представляет собой всего лишь сегмент («элемент») переведенного XML-файла.

my orchestration http://www.columbia.edu/~dm2241/membersJob.png

Вот XSD для моего значения петлевого членства:

<?xml version="1.0" encoding="UTF-8"?> 
<!-- edited with XMLSpy v2012 (x64) (http://www.altova.com) by Colin MacAllister (Columbia Business School) --> 
<!--W3C Schema generated by XMLSpy v2012 (x64) (http://www.altova.com)--> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="rss"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element name="channel" minOccurs="0" maxOccurs="unbounded"> 
      <xs:complexType> 
      <xs:sequence> 
       <xs:element name="title"> 
       <xs:simpleType> 
        <xs:restriction base="xs:string"/> 
       </xs:simpleType> 
       </xs:element> 
       <xs:element name="link"> 
       <xs:simpleType> 
        <xs:restriction base="xs:anyURI"/> 
       </xs:simpleType> 
       </xs:element> 
       <xs:element name="description" type="xs:string"/> 
       <xs:element name="pubDate"> 
       <xs:simpleType> 
        <xs:restriction base="xs:string"/> 
       </xs:simpleType> 
       </xs:element> 
       <xs:element name="generator"> 
       <xs:simpleType> 
        <xs:restriction base="xs:anyURI"/> 
       </xs:simpleType> 
       </xs:element> 
       <xs:element name="language"> 
       <xs:simpleType> 
        <xs:restriction base="xs:string"> 
        <xs:enumeration value="en"/> 
        </xs:restriction> 
       </xs:simpleType> 
       </xs:element> 
       <xs:element name="item" minOccurs="0" maxOccurs="unbounded"> 
       <xs:complexType> 
        <xs:sequence> 
        <xs:element name="cgId" type="xs:unsignedInt"/> 
        <xs:element name="firstName"> 
         <xs:simpleType> 
         <xs:restriction base="xs:string"/> 
         </xs:simpleType> 
        </xs:element> 
        <xs:element name="lastName"> 
         <xs:simpleType> 
         <xs:restriction base="xs:string"/> 
         </xs:simpleType> 
        </xs:element> 
        <xs:element name="email"> 
         <xs:simpleType> 
         <xs:restriction base="xs:string"/> 
         </xs:simpleType> 
        </xs:element> 
        <xs:element name="accountType"> 
         <xs:simpleType> 
         <xs:restriction base="xs:string"/> 
         </xs:simpleType> 
        </xs:element> 
        <xs:element name="member" type="xs:unsignedInt"/> 
        <xs:element name="officer" type="xs:unsignedInt"/> 
        <xs:element name="officerPosition"> 
         <xs:simpleType> 
         <xs:restriction base="xs:string"/> 
         </xs:simpleType> 
        </xs:element> 
        <xs:element name="activeOfficer" type="xs:unsignedInt"/> 
        <xs:element name="membershipEndDate" type="xs:string"/> 
        </xs:sequence> 
       </xs:complexType> 
       </xs:element> 
      </xs:sequence> 
      </xs:complexType> 
     </xs:element> 
     </xs:sequence> 
     <xs:attribute name="version" use="required"> 
     <xs:simpleType> 
      <xs:restriction base="xs:decimal"/> 
     </xs:simpleType> 
     </xs:attribute> 
    </xs:complexType> 
    </xs:element> 
</xs:schema> 

ответ

0

Одним из документированных способов очистить до использования памяти кучи в студии, чтобы Обеспечить использование памяти Показать в строке состояния Опция выбирается из диалогового окна «Предпочтение», в нижней части студии отображается значок панели памяти и значок корзины в виде строки состояния. На этой панели памяти отображается, сколько памяти в настоящее время используется Studio, по сравнению с t его общая память, которая в настоящее время выделена Studio.

Чтобы запросить сборку мусора, извлекая любую неиспользуемую память внутри Studio, щелкните значок корзины, расположенную справа от панели памяти. Нажатие на значок мусорной корзины может означать, что значок может уменьшить объем памяти Студия в настоящее время использует внутренне, потенциально увеличивая производительность Студия при работе с большим проектом.

Еще одна распространенная причина, заключающаяся в том, что набор параметров схемы XML, «Количество уровней дочерних узлов, выделенных в схеме для схемы» в разделе «Настройки схемы XML», также определяет количество уровней дочерних узлов, выделенных в памяти, количество уровней дочерних узлов может отрицательно сказаться на производительности Studio, что также приводит к ошибкам OOM. Также проверьте значение, установленное на «Число уровней рекурсивных узлов». Указание большого количества уровней рекурсивных узлов также может отрицательно повлиять на производительность Studio.

Первое предложение - проверить эти настройки и оптимизировать используемые значения, чтобы вы получили оптимальную производительность для своего проекта. Однако, если это не поможет, я предлагаю вам обратиться в службу поддержки IBM, чтобы они могли определить, что является причиной узкого места в вашем конкретном случае, и может помочь вам приступить к работе.

0

Попробуйте использовать разделение, чтобы разбить обработку. Поместите операцию разделения после выполнения запроса. Назовите переменную и переназначение и необходимые входные данные после Split.