<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Running out of memory in API call in Software Development Kit (SDK) and API Discussions</title>
    <link>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Running-out-of-memory-in-API-call/m-p/26721#M222</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Greetings. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am having an issue where I get an error from our filer stating that my request is too big for available memory.&lt;/P&gt;&lt;P&gt; The request I'm making is for the list of volumes and some counters associated with each volume. &lt;/P&gt;&lt;P&gt;We have about 150 volumes that I'm trying to retrieve information on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the error: &lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;&lt;P&gt;Not enough memory to get instances for volume.Use perf-object-get-instances-iter-* calls and/or ask for specific counters to limit the amount of data retrieved&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code I'm using is as follows:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote" modifiedtitle="true"&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $inperf = NaElement-&amp;gt;new("perf-object-get-instances-iter-start");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $inperf-&amp;gt;child_add_string("objectname", "volume");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $counters = NaElement-&amp;gt;new("counters");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","avg_latency");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","total_ops");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","read_data");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","read_latency");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","read_ops");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","write_data");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","write_latency");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","write_ops");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","other_latency");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","other_ops");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $inperf-&amp;gt;child_add($counters);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $outperf = $netapp-&amp;gt;invoke_elem($inperf);&lt;SPAN style="font-size: 10pt; line-height: 1.5em; font-family: arial, helvetica, sans-serif; background-color: transparent;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there a better way to get this information from the filer?&lt;/P&gt;&lt;P&gt; Is there a call that I can use that will give me just a list of volumes that I can then parse and query the specific info for each volume with?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there other information that I can provide which will help troubleshoot this issue?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help or insight will be greatly appreciated. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 05 Jun 2025 05:34:39 GMT</pubDate>
    <dc:creator>MIKE_CAVE</dc:creator>
    <dc:date>2025-06-05T05:34:39Z</dc:date>
    <item>
      <title>Running out of memory in API call</title>
      <link>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Running-out-of-memory-in-API-call/m-p/26721#M222</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Greetings. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am having an issue where I get an error from our filer stating that my request is too big for available memory.&lt;/P&gt;&lt;P&gt; The request I'm making is for the list of volumes and some counters associated with each volume. &lt;/P&gt;&lt;P&gt;We have about 150 volumes that I'm trying to retrieve information on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the error: &lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;&lt;P&gt;Not enough memory to get instances for volume.Use perf-object-get-instances-iter-* calls and/or ask for specific counters to limit the amount of data retrieved&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code I'm using is as follows:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote" modifiedtitle="true"&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $inperf = NaElement-&amp;gt;new("perf-object-get-instances-iter-start");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $inperf-&amp;gt;child_add_string("objectname", "volume");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $counters = NaElement-&amp;gt;new("counters");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","avg_latency");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","total_ops");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","read_data");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","read_latency");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","read_ops");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","write_data");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","write_latency");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","write_ops");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","other_latency");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters-&amp;gt;child_add_string("counter","other_ops");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $inperf-&amp;gt;child_add($counters);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $outperf = $netapp-&amp;gt;invoke_elem($inperf);&lt;SPAN style="font-size: 10pt; line-height: 1.5em; font-family: arial, helvetica, sans-serif; background-color: transparent;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there a better way to get this information from the filer?&lt;/P&gt;&lt;P&gt; Is there a call that I can use that will give me just a list of volumes that I can then parse and query the specific info for each volume with?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there other information that I can provide which will help troubleshoot this issue?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help or insight will be greatly appreciated. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jun 2025 05:34:39 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Running-out-of-memory-in-API-call/m-p/26721#M222</guid>
      <dc:creator>MIKE_CAVE</dc:creator>
      <dc:date>2025-06-05T05:34:39Z</dc:date>
    </item>
    <item>
      <title>Re: Running out of memory in API call</title>
      <link>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Running-out-of-memory-in-API-call/m-p/26726#M223</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can run the sequence of "&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;volume-list-info-iter-start&lt;/STRONG&gt;&lt;/SPAN&gt;", "&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;volume-list-info-iter-next&lt;/STRONG&gt;&lt;/SPAN&gt;" and "&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;volume-list-info-iter-end&lt;/STRONG&gt;&lt;/SPAN&gt;" APIs (or just "&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;volume-list-info&lt;/STRONG&gt;&lt;/SPAN&gt;" instead of the three &lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;*-iter-*&lt;/STRONG&gt;&lt;/SPAN&gt; APIs) to get the list of volumes in your system. Once you get the list of volumes, then for each volume you can collect the perf counters by adding the volume name as an input for "&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;STRONG&gt;instance&lt;/STRONG&gt;&lt;/SPAN&gt;" parameter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You need to do something like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;my &lt;EM&gt;$involinfo&lt;/EM&gt; = new NaElement('&lt;STRONG&gt;volume-list-info&lt;/STRONG&gt;'); &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;my &lt;EM&gt;$outvolinfo&lt;/EM&gt; = &lt;EM&gt;$netapp&lt;/EM&gt;-&amp;gt;invoke_elem($involinfo);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;my &lt;EM&gt;$volume_info&lt;/EM&gt; = &lt;EM&gt;$outvolinfo&lt;/EM&gt;-&amp;gt;child_get("&lt;STRONG&gt;volumes&lt;/STRONG&gt;");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;my &lt;EM&gt;@volumes&lt;/EM&gt;= &lt;EM&gt;$volume_info&lt;/EM&gt;-&amp;gt;children_get();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;foreach &lt;EM&gt;$vol&lt;/EM&gt; (&lt;EM&gt;@volumes&lt;/EM&gt;){&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my &lt;EM&gt;$vol_name&lt;/EM&gt; = &lt;EM&gt;$vol&lt;/EM&gt;-&amp;gt;child_get_string("&lt;STRONG&gt;name&lt;/STRONG&gt;");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print&amp;nbsp; "Getting perf counters for volume name: $vol_name \n";&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my &lt;EM&gt;$inperf&lt;/EM&gt; = NaElement-&amp;gt;new("&lt;STRONG&gt;perf-object-get-instances-iter-start&lt;/STRONG&gt;");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $inperf&lt;/EM&gt;-&amp;gt;child_add_string("&lt;STRONG&gt;objectname&lt;/STRONG&gt;", "&lt;EM&gt;&lt;STRONG&gt;volume&lt;/STRONG&gt;&lt;/EM&gt;");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my &lt;EM&gt;$instances&lt;/EM&gt; = new NaElement('&lt;STRONG&gt;instances&lt;/STRONG&gt;');&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $inperf&lt;/EM&gt;-&amp;gt;child_add(&lt;EM&gt;$instances&lt;/EM&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $instances&lt;/EM&gt;-&amp;gt;child_add_string('&lt;STRONG&gt;instance&lt;/STRONG&gt;', &lt;EM&gt;$vol_name&lt;/EM&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my &lt;EM&gt;$counters&lt;/EM&gt; = NaElement-&amp;gt;new("&lt;STRONG&gt;counters&lt;/STRONG&gt;");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $counters&lt;/EM&gt;-&amp;gt;child_add_string("&lt;STRONG&gt;counter&lt;/STRONG&gt;","&lt;EM&gt;&lt;STRONG&gt;avg_latency&lt;/STRONG&gt;&lt;/EM&gt;");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... &amp;lt;rest of your code&amp;gt; ...&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier;"&gt;&amp;nbsp; } # end of foreach $vol&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;Please let me know if it helped.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;Sen.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Jun 2014 07:01:23 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Running-out-of-memory-in-API-call/m-p/26726#M223</guid>
      <dc:creator>sens</dc:creator>
      <dc:date>2014-06-10T07:01:23Z</dc:date>
    </item>
    <item>
      <title>Re: Running out of memory in API call</title>
      <link>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Running-out-of-memory-in-API-call/m-p/26733#M224</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sens,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much for help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I used what you suggested and added a little bit to it so that we can process the list in groups. It was taking about one minute and 15 seconds to process the individual files so here is what I ended up doing:&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote" modifiedtitle="true"&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get the list of volumes from the Netapp&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $involinfo = new NaElement('volume-list-info');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $outvolinfo = $netapp-&amp;gt;invoke_elem($involinfo);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Create an array of volumes&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $volume_info = $outvolinfo-&amp;gt;child_get("volumes");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my @volumes= $volume_info-&amp;gt;children_get();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Loop the list of volume names and get the stats for each volume &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp;&amp;nbsp; until there are no more volumes left in the list&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (@volumes){&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $inperf = NaElement-&amp;gt;new("perf-object-get-instances-iter-start");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $inperf-&amp;gt;child_add_string("objectname", "volume");&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $instances = new NaElement('instances');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $inperf-&amp;gt;child_add($instances);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Process a subslist of defined number of volumes and remove that sublist from the master list&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my @subvolumes = splice (@volumes , 0, $subListSize);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Add the volume names of the sublist onto the instances list&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach my $vol (@subvolumes){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $vol_name = $vol-&amp;gt;child_get_string("name");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print&amp;nbsp; "volume_stats: Getting perf counters for volume name: $vol_name \n" if ($testing);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $instances-&amp;gt;child_add_string('instance', $vol_name);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; .... rest of code .... &lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;Now we get the list processed in about 4 seconds which is much more acceptable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Jun 2014 22:37:51 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Running-out-of-memory-in-API-call/m-p/26733#M224</guid>
      <dc:creator>MIKE_CAVE</dc:creator>
      <dc:date>2014-06-10T22:37:51Z</dc:date>
    </item>
    <item>
      <title>Re: Running out of memory in API call</title>
      <link>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Running-out-of-memory-in-API-call/m-p/26737#M225</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Great!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sen.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Jun 2014 08:52:56 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/Running-out-of-memory-in-API-call/m-p/26737#M225</guid>
      <dc:creator>sens</dc:creator>
      <dc:date>2014-06-11T08:52:56Z</dc:date>
    </item>
  </channel>
</rss>

