<?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 Re: Problem with 32bit vs 64bit Data and Stack Sizes in Operating System - HP-UX</title>
    <link>https://community.hpe.com/t5/operating-system-hp-ux/problem-with-32bit-vs-64bit-data-and-stack-sizes/m-p/3647731#M240065</link>
    <description>I don't have an Itanium box to test on. The very first thing you should do is reduce your maxssiz values from their current ridiculous levels. Only extremely poorly written code ever need stacks larger than 64MB in 32-bit land and about 256MB in 64-bit land. Both of these are EXTREMELY generous. 32MB and 64MB respectively would still be generous values. Moreover, the stack does not limit dynamic memory allocation. &lt;BR /&gt;&lt;BR /&gt;It would be helpful to know the exact errno value (generally the exit status of the program); I suspect that it is 27 - ENOMEM.&lt;BR /&gt;&lt;BR /&gt;You should be able to duplicate this problem with a very small C program using calloc().&lt;BR /&gt;</description>
    <pubDate>Wed, 12 Oct 2005 10:40:09 GMT</pubDate>
    <dc:creator>A. Clay Stephenson</dc:creator>
    <dc:date>2005-10-12T10:40:09Z</dc:date>
    <item>
      <title>Problem with 32bit vs 64bit Data and Stack Sizes</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/problem-with-32bit-vs-64bit-data-and-stack-sizes/m-p/3647730#M240064</link>
      <description>I am having a problem with our HP Itanium2 with 16Gb. The kernal settings for the 32bit and _64bit maxdsiz and maxssiz have been increased to their maximum (4 &amp;amp; 16Gb); however, ulimit reports that maxdsiz is only 4Gb because I am checking from a 32bit shell. &lt;BR /&gt;My 64bit engineering analysis software still seems to be running into the 4Gb datasiz limit. Models that require less than 4Gb run seemlessly. Models requiring more than 4Gb halt with a message that the software's request to allocate the additional memory beyond 4Gb have failed.</description>
      <pubDate>Wed, 12 Oct 2005 10:24:13 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/problem-with-32bit-vs-64bit-data-and-stack-sizes/m-p/3647730#M240064</guid>
      <dc:creator>Shawn D. Givler</dc:creator>
      <dc:date>2005-10-12T10:24:13Z</dc:date>
    </item>
    <item>
      <title>Re: Problem with 32bit vs 64bit Data and Stack Sizes</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/problem-with-32bit-vs-64bit-data-and-stack-sizes/m-p/3647731#M240065</link>
      <description>I don't have an Itanium box to test on. The very first thing you should do is reduce your maxssiz values from their current ridiculous levels. Only extremely poorly written code ever need stacks larger than 64MB in 32-bit land and about 256MB in 64-bit land. Both of these are EXTREMELY generous. 32MB and 64MB respectively would still be generous values. Moreover, the stack does not limit dynamic memory allocation. &lt;BR /&gt;&lt;BR /&gt;It would be helpful to know the exact errno value (generally the exit status of the program); I suspect that it is 27 - ENOMEM.&lt;BR /&gt;&lt;BR /&gt;You should be able to duplicate this problem with a very small C program using calloc().&lt;BR /&gt;</description>
      <pubDate>Wed, 12 Oct 2005 10:40:09 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/problem-with-32bit-vs-64bit-data-and-stack-sizes/m-p/3647731#M240065</guid>
      <dc:creator>A. Clay Stephenson</dc:creator>
      <dc:date>2005-10-12T10:40:09Z</dc:date>
    </item>
    <item>
      <title>Re: Problem with 32bit vs 64bit Data and Stack Sizes</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/problem-with-32bit-vs-64bit-data-and-stack-sizes/m-p/3647732#M240066</link>
      <description>maxdsiz and maxssiz are for 32bit.&lt;BR /&gt;maxdsiz_64bit and maxssiz_64bit are for 64bit.&lt;BR /&gt;&lt;BR /&gt;Different parameters, so it's not difference where from you check it, maxdsiz will stay 4GB and maxdsiz_64bit will be 16GB no matter from what shell you check it.&lt;BR /&gt;&lt;BR /&gt;Are you sure that you software is 64bit?&lt;BR /&gt;&lt;BR /&gt;what /path/to/binary&lt;BR /&gt;file /path/to/binary&lt;BR /&gt;&lt;BR /&gt;Alex.</description>
      <pubDate>Wed, 12 Oct 2005 10:43:41 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/problem-with-32bit-vs-64bit-data-and-stack-sizes/m-p/3647732#M240066</guid>
      <dc:creator>Alex Lavrov.</dc:creator>
      <dc:date>2005-10-12T10:43:41Z</dc:date>
    </item>
    <item>
      <title>Re: Problem with 32bit vs 64bit Data and Stack Sizes</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/problem-with-32bit-vs-64bit-data-and-stack-sizes/m-p/3647733#M240067</link>
      <description>I have checked the executable and it definitely is 64bit.&lt;BR /&gt;&lt;BR /&gt;%file xeq&lt;BR /&gt;xeq: ELF-64 executable object file - IA64&lt;BR /&gt;&lt;BR /&gt;The executable runs on our other HP Itanium2 with 12Gb and the tunables are identical:&lt;BR /&gt;&lt;BR /&gt;%  kctune maxdsiz maxdsiz_64bit maxssiz maxssiz_64bit&lt;BR /&gt;Tunable             Value  Expression  Changes&lt;BR /&gt;maxdsiz        4293918720  4293918720  Immed&lt;BR /&gt;maxdsiz_64bit  8589934592  8589934592  Immed&lt;BR /&gt;maxssiz         401604608  401604608   Immed&lt;BR /&gt;maxssiz_64bit  1073741824  1073741824  Immed&lt;BR /&gt;&lt;BR /&gt;However, checking user limits shows that the problem machine (hp01) has a lower datasize limit:&lt;BR /&gt;&lt;BR /&gt;hp02% ulimit -a&lt;BR /&gt;time(seconds)        unlimited&lt;BR /&gt;file(blocks)         unlimited&lt;BR /&gt;data(kbytes)         4193280&lt;BR /&gt;stack(kbytes)        392192&lt;BR /&gt;memory(kbytes)       unlimited&lt;BR /&gt;coredump(blocks)     4194303&lt;BR /&gt;nofiles(descriptors) 2048&lt;BR /&gt;&lt;BR /&gt;hp01% ulimit -a&lt;BR /&gt;time(seconds)        unlimited&lt;BR /&gt;file(blocks)         unlimited&lt;BR /&gt;data(kbytes)         1696764&lt;BR /&gt;stack(kbytes)        392192&lt;BR /&gt;memory(kbytes)       unlimited&lt;BR /&gt;coredump(blocks)     4194303&lt;BR /&gt;nofiles(descriptors) 2048&lt;BR /&gt;&lt;BR /&gt;Are these limits not the 32bit limits since I am checking them from a 32bit shell and correspond to the values reported by kctune?&lt;BR /&gt;How does one check what are a user's 64bit limits are and how does one increase them?</description>
      <pubDate>Wed, 12 Oct 2005 12:04:48 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/problem-with-32bit-vs-64bit-data-and-stack-sizes/m-p/3647733#M240067</guid>
      <dc:creator>Shawn D. Givler</dc:creator>
      <dc:date>2005-10-12T12:04:48Z</dc:date>
    </item>
    <item>
      <title>Re: Problem with 32bit vs 64bit Data and Stack Sizes</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/problem-with-32bit-vs-64bit-data-and-stack-sizes/m-p/3647734#M240068</link>
      <description>Right, I forgot about ulimit. Indeed you must increase ulimit too ... Think 10 points to yourself then :)&lt;BR /&gt;&lt;BR /&gt;Read in the shell man about ulimit, how to do it. ("man sh", not "man ulimit", it won't work)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Alex.</description>
      <pubDate>Wed, 12 Oct 2005 12:58:45 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/problem-with-32bit-vs-64bit-data-and-stack-sizes/m-p/3647734#M240068</guid>
      <dc:creator>Alex Lavrov.</dc:creator>
      <dc:date>2005-10-12T12:58:45Z</dc:date>
    </item>
    <item>
      <title>Re: Problem with 32bit vs 64bit Data and Stack Sizes</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/problem-with-32bit-vs-64bit-data-and-stack-sizes/m-p/3647735#M240069</link>
      <description>Did you run ulimit from a *new* shell or an already running shell from before you made the tunable change?&lt;BR /&gt;&lt;BR /&gt;The dynamic tunables take effect immediately but *only* for new processes. Limits for processes already running are already set. This also means that if your Engineering Analysis Software is already running - restart it.&lt;BR /&gt;&lt;BR /&gt;Next, your stacks are way, way way too high for any reasonable belief -- and there's no way that you'll actually get all that stack and data. It is much more likely that the huge pre-reserved area of the stack is interfering with your data allocations, in fact.&lt;BR /&gt;&lt;BR /&gt;Finally - if you want the system limits to be in force, don't set ulimit manually in the parent shell (and you may want to check whatever spawns your shells to make sure some profile script didn't already do this). The system gives processes the current system limits *if* the parent never changed their limits. Otherwise, the parent's limits are honored.</description>
      <pubDate>Wed, 12 Oct 2005 14:24:13 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/problem-with-32bit-vs-64bit-data-and-stack-sizes/m-p/3647735#M240069</guid>
      <dc:creator>Don Morris_1</dc:creator>
      <dc:date>2005-10-12T14:24:13Z</dc:date>
    </item>
  </channel>
</rss>

