#Tuned Chef Cookbook
![Gitter](https://badges.gitter.im/Join Chat.svg)
#Description
Installs tuned and enables/disables tuned profiles. For more information on tuned please see the Red Hat documentation on this daemon
#Usage
###Attribute overview
Define some attributes to be used by the 'tuned_profile' resource. Attributes have 3 levels
default['tuned']['profile']['myprofile']
- used as the profile filename must match resource instance name
default['tuned']['profile']['myprofile']['cpu']
- creates a heading in the profile init file [cpu]
default['tuned']['profile']['myprofile']['cpu']['governor'] = 'performance'
- creates an key value entry in the profile file under the '[cpu]' heading
###Attribute example
default['tuned']['profile']['myprofile']['cpu']['governor'] = 'performance'
default['tuned']['profile']['myprofile']['cpu']['energy_perf_bias'] = 'performance'
default['tuned']['profile']['myprofile']['cpu']['min_perf_pct'] = '100'
default['tuned']['profile']['myprofile']['disk']['readahead'] = '4096'
default['tuned']['profile']['myprofile']['vm']['transparent_hugepage'] = 'never'
default['tuned']['profile']['myprofile']['vm']['transparent_hugepage.defrag'] = 'never'
default['tuned']['profile']['myprofile']['sysctl']['kernel.sched_wakeup_granularity_ns'] = '15000000'
default['tuned']['profile']['myprofile']['sysctl']['kernel.sched_min_granularity_ns'] = '10000000'
default['tuned']['profile']['myprofile']['sysctl']['vm.dirty_background_ratio'] = '10'
default['tuned']['profile']['myprofile']['sysctl']['vm.dirty_ratio'] = '30'
default['tuned']['profile']['myprofile']['main']['include'] = 'latency-performance'
default['tuned']['profile']['myprofile']['sysctl']['vm.swappiness'] = '30'
default['tuned']['profile']['myprofile']['sysfs']['/sys/kernel/mm/transparent_hugepage/enabled'] = 'never'
default['tuned']['profile']['myprofile']['sysfs']['/sys/kernel/mm/transparent_hugepage/defrag'] = 'never'
The above example attributes when combined with a resource call:
tuned_profile 'myprofile' do
action [:create, :enable]
end
Will create a file
- /usr/lib/tuned/myprofile/tuned.conf
With the following contents:
# Dynamically generated default tuned profile file, applied by Chef!
[main]
include=latency-performance
[cpu]
governor=performance
energy_perf_bias=performance
min_perf_pct=100
[disk]
readahead=4096
[sysctl]
kernel.sched_wakeup_granularity_ns=15000000
kernel.sched_min_granularity_ns=10000000
vm.dirty_background_ratio=10
vm.dirty_ratio=30
vm.swappiness=30
[sysfs]
/sys/kernel/mm/transparent_hugepage/enabled=never
/sys/kernel/mm/transparent_hugepage/defrag=never
[vm]
transparent_hugepage=never
transparent_hugepage.defrag=never
Installs tuned if not already installed
###create and enable a profile
tuned_profile 'myprofile' do
action [:create, :enable]
end
###enable a default system profile See Red Hat Documentation for availale defaults
tuned_profile 'balanced' do
action [:enable]
end
###disable a profile (reverts to default)
tuned_profile 'myprofile' do
action [:disable]
end
###default to tuned recommended profile
tuned_profile 'myprofile' do
action [:default]
end
###Library Provider overview ####Property:
Name | Description | Default |
---|---|---|
main |
Define the [main] profile definition section | {} |
plugins |
Define the plugins profile definition | {} |
####Property example:
tuned_profile 'lwrp_profile' do
main (include: 'latency-performance')
plugins(cpu: {
governor: 'performance',
energy_perf_bias: 'performance'
})
action [:create, :enable]
end
#Contributing
- Fork it
- Create your feature branch + tests + Readme (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
- RHEL (>= 6.6)
- CentOS (>= 6.6)
No dependencies defined
No attributes defined
- tuned::default
- create: Default action.
- default:
- disable:
- enable:
Maintainer:: Dave Meekin ([email protected])
License:: Apache v2.0