Print

How to tune memory management on 64-bit Irix?


My Octane is equipped with 4GB RAM and 8GB swap space. I'm running the 64-bit version of the Huygens but I've still problems accessing more than 2GB of memory.

Irix can limit the memory usage of applications. The default memory limits of Octane workstations are usually too tight for Huygens. . <br>
On Irix, Huygens prefers to store large images in so-called shared memory. Only when that is exhausted it will switch over to regular 'heap' memory.

To get a quick view of the limits type 'limit' into a Unix shell. You get something like:

< 102 snoek ~> limit <br>
cputime unlimited <br>
filesize unlimited <br>
datasize 3145728 kbytes <br>
stacksize 65536 kbytes <br>
coredumpsize unlimited <br>
memoryuse 524288 kbytes <br>
vmemoryuse 3145728 kbytes <br>
descriptors 200 <br>
threads 1024

In this case the total memory is limited to 3GB. You can try to see whether the default and maximum values differ by issuing the limit -h command.

To see the system settings which control the limits type 'systune resource'. <br>
As normal user you can see these settings, but not change them; for that you need to become root.

< 102 griet ~> systune resource

group: resource (statically changeable) <br>
rlimit_pthread_max = 1024 (0x400) ll <br>
rlimit_pthread_cur = 1024 (0x400) ll <br>
rlimit_nofile_max = 2500 (0x9c4) ll <br>
rlimit_nofile_cur = 200 (0xc8) ll <br>
rlimit_rss_max = 536870912 (0x20000000) ll <br>
rlimit_rss_cur = 536870912 (0x20000000) ll <br>
rlimit_vmem_max = 9223372036854775807 (0x7fffffffffffffff) ll <br>
rlimit_vmem_cur = 9223372036854775807 (0x7fffffffffffffff) ll <br>
rlimit_core_max = 9223372036854775807 (0x7fffffffffffffff) ll <br>
rlimit_core_cur = 536870912 (0x20000000) ll <br>
rlimit_stack_max = 536870912 (0x20000000) ll <br>
rlimit_stack_cur = 67108864 (0x4000000) ll <br>
rlimit_data_max = 9223372036854775807 (0x7fffffffffffffff) ll <br>
rlimit_data_cur = 9223372036854775807 (0x7fffffffffffffff) ll <br>
rlimit_fsize_max = 9223372036854775807 (0x7fffffffffffffff) ll <br>
rlimit_fsize_cur = 9223372036854775807 (0x7fffffffffffffff) ll <br>
rlimit_cpu_max = 9223372036854775807 (0x7fffffffffffffff) ll <br>
rlimit_cpu_cur = 9223372036854775807 (0x7fffffffffffffff) ll

In particular, look for the 'vmem' and 'data' values. If on your system these are smaller than the RAM+SWAP, best set them to the unlimited values as listed above. <br>
Before going further it is a good idea to also have a look at the shared memory settings: <br>
< 103 griet ~> systune shm

group: shm (statically changeable) <br>
sshmseg = 2000 (0x7d0) <br>
shmmni = 6184 (0x1828) <br>
shmmin = 1 (0x1) ll <br>
shmmax = 2147483648 (0x80000000) ll

In particular the 'shmmax' value should be as large or a bit smaller than your system RAM.

If you find that you need to change one or more of the values listed above, you need to become root first. <br>
Then type:

'systune -i' and then 'resource' into a UNIX shell

you'll see something like: <br>
systune-> resource

group: resource (statically changeable) <br>
rlimit_pthread_max = 1024 (0x400) ll <br>
rlimit_pthread_cur = 1024 (0x400) ll <br>
rlimit_nofile_max = 2500 (0x9c4) ll <br>
rlimit_nofile_cur = 200 (0xc8) ll <br>
rlimit_rss_max = 536870912 (0x20000000) ll <br>
rlimit_rss_cur = 536870912 (0x20000000) ll <br>
rlimit_vmem_max = 3221225472 (0xc0000000) ll <br>
rlimit_vmem_cur = 3221225472 (0xc0000000) ll <br>
rlimit_core_max = 9223372036854775807 (0x7fffffffffffffff) ll <br>
rlimit_core_cur = 9223372036854775807 (0x7fffffffffffffff) ll <br>
rlimit_stack_max = 536870912 (0x20000000) ll <br>
rlimit_stack_cur = 67108864 (0x4000000) ll <br>
rlimit_data_max = 3221225472 (0xc0000000) ll <br>
rlimit_data_cur = 3221225472 (0xc0000000) ll <br>
rlimit_fsize_max = 9223372036854775807 (0x7fffffffffffffff) ll <br>
rlimit_fsize_cur = 9223372036854775807 (0x7fffffffffffffff) ll <br>
rlimit_cpu_max = 9223372036854775807 (0x7fffffffffffffff) ll <br>
rlimit_cpu_cur = 9223372036854775807 (0x7fffffffffffffff) ll

To change the setting of the maximum available memory you type:

systune-> rlimit_vmem_max 0x100000000

To change to the shared memory group of variables type 'shm' and proceed if necessary to modify the shmmax variable.

Type 'quit' to exit systune and reboot the system by typing 'reboot' at the Unix shell prompt.


<br>
Keywords: shared memory 64-bit Irix 64bit systune octane<br>
Categories: Faq Installation, Huygens Faq, Imported Faqs<br>
Platforms: Irix<br>
Related products: Hu Pro<br>