System Administration
cancel
Showing results for 
Search instead for 
Did you mean: 

Linux Kernel autotunes itself?

Jcrawford
Occasional Visitor

Linux Kernel autotunes itself?

From 2.6 does the Linux Kernel autotunes itself? - This was something i heard on a call from a senior Linux Member. Could someone clarify this statement although it would be better for that person to clarify as he made the statement. I wanted to know if there was some meaning to that statement.

 

Thanks

 

Joe.

3 REPLIES
Steven E. Protter
Exalted Contributor

Re: Linux Kernel autotunes itself?

Shalom Joe,

 

You might want to define what auto tune means to you.

 

There are kernel parameters that can get set with ranges, which does permit the kernel to change the running value without systems administrator intervention.

 

Beyond that, I've had to manually tune most kernel paramters by updating them in /proc or using sysctl

 

sysctl -a

# displays all running parameters. Might be instructive to run this and look at the results.

 

SEP

Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
Jcrawford
Occasional Visitor

Re: Linux Kernel autotunes itself?

Shalom Steve

 

Thanks!  I did not know that sysctl -a is an intrusive command! Could you please clarify how it could be intrusive as it is just reporting (similar to kmtune or kctume in HP-UX). Also, when you mention about the range, what are you referring to, could you give an example please?

 

Best Regards

 

Joe.

Steven E. Protter
Exalted Contributor

Re: Linux Kernel autotunes itself?

Shalom again. :smileyhappy:

 

sysctl -a is not really instrusive.

 

It merely displays all kernel parameters.

 

Examples:

 

syscl -a

fs.dir-notify-enable = 1
fs.leases-enable = 1
fs.overflowgid = 65534
fs.overflowuid = 65534
fs.dentry-state = 177408        166387  45      0       0       0
fs.nr_open = 1048576
fs.file-max = 331662
fs.file-nr = 2550       0       331662
fs.inode-state = 156672 378     0       0       0       0       0
fs.inode-nr = 156672    378
fs.binfmt_misc.status = enabled[root@mercury ~]#

 

cd /proc/sys/kernel

[root@mercury kernel]# cat shmmax
68719476736


Now I can do a one time only change on shmmax on the command line


echo 6871947673 > shmmax

 

That parameter is now changed.

 

To do a permenent change that survives boot, that is where we are like kctune/kmtune

 

From the man page

       -w     Use this option when you want to change a sysctl setting.

       /sbin/sysctl -w kernel.domainname="example.com"
sysctl -a | grep kernel.domainname

 

Reboot.

 

You will see survival.

 

-a just shows you where stuff is set. -w is the intrusvie one, but not really bad.

 

Almost every kernel parameter is dynamic on Red Hat Linux.

 

SEP

 

Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com