Skip to contentSkip to conversation

Kernel Shared Memory Max (shmmax)

Linux-ia64 Donny Cooper 4 participants 7 messages Mar 14, 2002 – Oct 21, 2002

lore
Share & tools
lore
#0 lore raw

Does the maximum possible shared memory (shmmax) increase with the Enterprise kernel?

Below is from doc/sysctl/kernel.txt document.
Is this document valid for IA-64 kernel?

It seems you can set this value to pretty much anything (even larger than the available memory), so I'm assuming the value gets intelligently truncated to the max supported. How can I check how much shared mem is available, free or top just shows what's used, right?

...doc/sysctl/kernel.txt
===============================

shmmax:

This value can be used to query and set the run time limit on the maximum shared memory segment size that can be created. Shared memory segments up to 1Gb are now supported in the kernel. This value defaults to SHMMAX.

===============================

Thanks,
-----------------------------------
Donny Cooper
NEC Systems, Inc.
Advanced Technical Computing Center
[email protected]
-----------------------------------

#1 lore raw

shmmax is the size of largest shared memory (in bytes) segment that the kernel allows. System wide value of total shared memory value is given by shmall parameter. Currently the default value for shmmax is (extrememly low) 32MB. And based on that the total amount of shared memory segment that can be created in IA-64 platform (with 16K page size) is 8G. There is no direct relationship between shmmax value and the amount of physical memory available in the system. Though you will never be able to create a shared memory segment bigger then the total memory (Free RAM+Free SWAP) available on the machine (unless you change the sysctl_overcommit_memory). Besides that, this low default value of 32MB just adds overhead for big memory systems. It will be nice to change this default value to 2G at least for IA-64 machines.

You can also change this value of shm* (shmmax etc.) by writing proper values in /proc/sys/kernel/shm*

rohit

-----Original Message-----
From: Donny Cooper [mailto:[email protected]]
Sent: Thursday, March 14, 2002 2:40 PM
To: [email protected]; [email protected]
Subject: [Linux-ia64] Kernel Shared Memory Max (shmmax)

Does the maximum possible shared memory (shmmax) increase with the Enterprise kernel?

Below is from doc/sysctl/kernel.txt document.
Is this document valid for IA-64 kernel?

It seems you can set this value to pretty much anything (even larger than the available memory), so I'm assuming the
value gets intelligently truncated to the max supported. How can I check how much shared mem is available, free or
top just shows what's used, right?

...doc/sysctl/kernel.txt
===============================

shmmax:

This value can be used to query and set the run time limit on the maximum shared memory segment size that can be created. Shared memory segments up to 1Gb are now supported in the kernel. This value defaults to SHMMAX.

===============================

Thanks,
-----------------------------------
Donny Cooper
NEC Systems, Inc.
Advanced Technical Computing Center
[email protected]
-----------------------------------

_______________________________________________
Linux-IA64 mailing list
[email protected]
http://lists.linuxia64.org/lists/listinfo/linux-ia64

#2 lore raw
In reply to Donny Cooper
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line · Rohit

Rohit> Besides that, this low default
Rohit> value of 32MB just adds overhead for big memory systems. It Rohit> will be nice to change this default value to 2G at least for Rohit> IA-64 machines.

I agree; it always struck me as a curiosity from days long gone... ;-)

	--david
#3 lore raw
In reply to Donny Cooper

David,

If you need any preference of value for shmmax, then please go with 4G (though there are utilities that expect size of shared memory segment to be only int :) but that should be fixed seperately). Could you please make this change in your next patch.

thanks,
rohit

-----Original Message-----
From: David Mosberger [mailto:[email protected]]
Sent: Thursday, March 14, 2002 3:32 PM
To: Seth, Rohit
Cc: '[email protected]'; [email protected]; [email protected]
Subject: RE: [Linux-ia64] Kernel Shared Memory Max (shmmax)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

On Thu, 14 Mar 2002 15:13:35 -0800, "Seth, Rohit"

<[email protected]> said:

Rohit> Besides that, this low default
Rohit> value of 32MB just adds overhead for big memory systems. It Rohit> will be nice to change this default value to 2G at least for Rohit> IA-64 machines.

I agree; it always struck me as a curiosity from days long gone... ;-)

	--david
#4 lore raw
In reply to Donny Cooper

Hi,

I suppose '8G' described below means default shmall, that is 524288 * 16K. And I think there is no restrictions around 8G on IA-64.

Regards,

Quoted 95 lines
Quoted 2 lines

And based on that the total amount of shared memory segment that can be created in IA-64 platform (with 16K page size) is 8G.

Does this still hold true in newer kernel releases (since 03/2002)? Is 8G the max for IA64 kernel?

Thanks,
Donny

Quoted 70 lines · Rohit

shmmax is the size of largest shared memory (in bytes) segment that the kernel allows. System wide value of total shared memory value is given by shmall parameter. Currently the default value for shmmax is (extrememly low) 32MB. And based on that the total amount of shared memory segment that can be created in IA-64 platform (with 16K page size) is 8G. There is no direct relationship between shmmax value and the amount of physical memory available in the system. Though you will never be able to create a shared memory segment bigger then the total memory (Free RAM+Free SWAP) available on the machine (unless you change the sysctl_overcommit_memory). Besides that, this low default value of 32MB just adds overhead for big memory systems. It will be nice to change this default value to 2G at least for IA-64 machines.

You can also change this value of shm* (shmmax etc.) by writing proper values in /proc/sys/kernel/shm*

rohit

-----Original Message-----
From: Donny Cooper [mailto:[email protected]]
Sent: Thursday, March 14, 2002 2:40 PM
To: [email protected]; [email protected]
Subject: [Linux-ia64] Kernel Shared Memory Max (shmmax)

Does the maximum possible shared memory (shmmax) increase with the Enterprise kernel?

Below is from doc/sysctl/kernel.txt document.
Is this document valid for IA-64 kernel?

It seems you can set this value to pretty much anything (even larger than the available memory), so I'm assuming the
value gets intelligently truncated to the max supported. How can I check how much shared mem is available, free or
top just shows what's used, right?

...doc/sysctl/kernel.txt
===============================

shmmax:

This value can be used to query and set the run time limit on the maximum shared memory segment size that can be created. Shared memory segments up to 1Gb are now supported in the kernel. This value defaults to SHMMAX.

===============================

Thanks,
-----------------------------------
Donny Cooper
NEC Systems, Inc.
Advanced Technical Computing Center
[email protected]
-----------------------------------

_______________________________________________
Linux-IA64 mailing list
[email protected]
http://lists.linuxia64.org/lists/listinfo/linux-ia64

_______________________________________________
ia64-list mailing list
[email protected]

Signature · 12 lines
================> 	     Donny Cooper
      NEC Solutions (America), Inc.
Advanced Technical Computing Center
	 ph: +1-281-465-1506
     [email protected]
================> 


_______________________________________________
ia64-list mailing list
[email protected]
https://listman.redhat.com/mailman/listinfo/ia64-list
#5 lore raw
In reply to Donny Cooper

The restriction is coming out of default parameters set in Linux (file include/linux/shm.h).
These values could be changed through /proc/sys/kernel/shm* interface. And if a site permanentlly wants to have higher values for this parameters then that can be achieved by something like rc.local

Have not seen any distribution increasing the default values for IA-64 yet.

rohit

Quoted 131 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Thursday, October 17, 2002 6:07 PM
To: [email protected]; [email protected]
Cc: [email protected]; [email protected]; [email protected]
Subject: Re: [Linux-ia64] Kernel Shared Memory Max (shmmax)

Hi,

I suppose '8G' described below means default shmall, that is 524288 * 16K. And I think there is no restrictions around 8G on IA-64.

Regards,

Quoted 1 line
Quoted 1 line

And based on that the total amount of shared memory

segment that can

Quoted 3 lines
Quoted 1 line

be created in IA-64 platform (with 16K page size) is 8G.

Does this still hold true in newer kernel releases (since

03/2002)?

Quoted 8 lines

Is 8G the
max for IA64 kernel?

Thanks,
Donny

Quoted 1 line · Rohit

shmmax is the size of largest shared memory (in bytes)

segment that

Quoted 1 line
Quoted 1 line

the kernel allows. System wide value of total shared

memory value

Quoted 3 lines
Quoted 3 lines

is given by shmall parameter. Currently the default value for shmmax is (extrememly
low) 32MB. And based on that the total amount of shared

memory segment

Quoted 1 line
Quoted 1 line

that can be created in IA-64 platform (with 16K page

size) is 8G. There is

Quoted 1 line
Quoted 1 line

no direct relationship between shmmax value and the

amount of physical

Quoted 1 line
Quoted 1 line

memory available in the system. Though you will never be

able to create a

Quoted 1 line
Quoted 1 line

shared memory segment bigger then the total memory (Free

RAM+Free SWAP)

Quoted 1 line
Quoted 1 line

available on the machine (unless you change the

sysctl_overcommit_memory).

Quoted 1 line
Quoted 1 line

Besides that, this low default value of 32MB just adds

overhead for big

Quoted 1 line
Quoted 1 line

memory systems. It will be nice to change this default

value to 2G at

Quoted 15 lines
Quoted 15 lines

least for IA-64 machines.

You can also change this value of shm* (shmmax etc.) by writing proper values in /proc/sys/kernel/shm*

rohit

-----Original Message-----
From: Donny Cooper [mailto:[email protected]]
Sent: Thursday, March 14, 2002 2:40 PM
To: [email protected]; [email protected]
Subject: [Linux-ia64] Kernel Shared Memory Max (shmmax)

Quoted 1 line
Quoted 1 line

Does the maximum possible shared memory (shmmax) increase

with the

Quoted 6 lines
Quoted 6 lines

Enterprise kernel?

Below is from doc/sysctl/kernel.txt document.
Is this document valid for IA-64 kernel?

It seems you can set this value to pretty much anything

(even larger

Quoted 2 lines
Quoted 2 lines

than the available memory), so I'm assuming the value gets intelligently truncated to the max supported. How can I

check how

Quoted 50 lines
Quoted 32 lines

much shared mem is available, free or top just shows what's used, right?

...doc/sysctl/kernel.txt
===============================

shmmax:

This value can be used to query and set the run time limit on the maximum shared memory segment size that can be created. Shared memory segments up to 1Gb are now supported in the kernel. This value defaults to SHMMAX.

===============================

Thanks,
-----------------------------------
Donny Cooper
NEC Systems, Inc.
Advanced Technical Computing Center
[email protected]
-----------------------------------

_______________________________________________
Linux-IA64 mailing list
[email protected]
http://lists.linuxia64.org/lists/listinfo/linux-ia64

Quoted 3 lines

_______________________________________________
ia64-list mailing list
[email protected]

--
================> > Donny Cooper
NEC Solutions (America), Inc.
Advanced Technical Computing Center

	 ph: +1-281-465-1506
     [email protected]

================> >

_______________________________________________
ia64-list mailing list
[email protected]
https://listman.redhat.com/mailman/listinfo/ia64-list

#6 lore raw
In reply to Donny Cooper
         .....
Quoted 4 lines

Sorry, but obviously I'm still confused here. Is there a max of 8GB or any
other value that I cannot exceed on IA-64 systems?

There is no limit of 8G on shared memory segments from IA-64 arch. As long as you are keeping the values shm* parameters large in kernel, you should be able to go to few TB range. If you have bigger memory machine then go ahead and bump up the values of these shm parameters. (Though I think ipcs is probably still broken and will not print the correct values), but you should actually be able to use these big segments.

rohit