|
|
@@ -0,0 +1,199 @@ |
|
|
|
{%- from "linux/map.jinja" import system with context %} |
|
|
|
{%- set mcelog = system.mcelog %} |
|
|
|
# |
|
|
|
# Example config file for mcelog |
|
|
|
# mcelog is the user space backend that decodes and process machine check events |
|
|
|
# (cpu hardware errors) reported by the CPU to the kernel |
|
|
|
# |
|
|
|
|
|
|
|
# general format |
|
|
|
#optionname = value |
|
|
|
# white space is not allowed in value currently, except at the end where it is dropped |
|
|
|
# |
|
|
|
|
|
|
|
# In general all command line options that are not commands work here. |
|
|
|
# See man mcelog or mcelog --help for a list. |
|
|
|
# e.g. to enable the --no-syslog option use |
|
|
|
#no-syslog = yes (or no to disable) |
|
|
|
# when the option has a argument |
|
|
|
#logfile = /tmp/logfile |
|
|
|
# below are the options which are not command line options. |
|
|
|
|
|
|
|
# Set CPU type for which mcelog decodes events: |
|
|
|
#cpu = type |
|
|
|
# For valid values for type please see mcelog --help. |
|
|
|
# If this value is set incorrectly the decoded output will be likely incorrect. |
|
|
|
# By default when this parameter is not set mcelog uses the CPU it is running on |
|
|
|
# on very new kernels the mcelog events reported by the kernel also carry |
|
|
|
# the CPU type which is used too when available and not overriden. |
|
|
|
|
|
|
|
# Enable daemon mode: |
|
|
|
#daemon = yes |
|
|
|
# By default mcelog just processes the currently pending events and exits. |
|
|
|
# In daemon mode it will keep running as a daemon in the background and poll |
|
|
|
# the kernel for events and then decode them. |
|
|
|
|
|
|
|
# Filter out known broken events by default. |
|
|
|
filter = yes |
|
|
|
# Don't log memory errors individually. |
|
|
|
# They still get accounted if that is enabled. |
|
|
|
#filter-memory-errors = yes |
|
|
|
|
|
|
|
# output in undecoded raw format to be easier machine readable |
|
|
|
# (default is decoded). |
|
|
|
#raw = yes |
|
|
|
|
|
|
|
# Set CPU Mhz to decode uptime from time stamp counter (output |
|
|
|
# unreliable, not needed on new kernels which report the event time |
|
|
|
# directly. A lot of systems don't have a linear time stamp clock |
|
|
|
# and the output is wrong then. |
|
|
|
# Normally mcelog tries to figure out if it the TSC is reliable |
|
|
|
# and only uses the current frequency then. |
|
|
|
# Setting a frequency forces timestamp decoding. |
|
|
|
# This setting is obsolete with modern kernels which report the time |
|
|
|
# directly. |
|
|
|
#cpumhz = 1800.00 |
|
|
|
|
|
|
|
# log output options |
|
|
|
# Log decoded machine checks in syslog (default stdout or syslog for daemon) |
|
|
|
#syslog = yes |
|
|
|
# Log decoded machine checks in syslog with error level |
|
|
|
#syslog-error = yes |
|
|
|
# Never log anything to syslog |
|
|
|
#no-syslog = yes |
|
|
|
# Append log output to logfile instead of stdout. Only when no syslog logging is active |
|
|
|
#logfile = filename |
|
|
|
|
|
|
|
{%- if mcelog.logging is defined %} |
|
|
|
|
|
|
|
{%- if mcelog.logging.syslog is defined %} |
|
|
|
syslog = {{ 'yes' if mcelog.logging.syslog else 'no' }} |
|
|
|
{%- endif %} |
|
|
|
{%- if mcelog.logging.syslog_error is defined %} |
|
|
|
syslog-error = {{ 'yes' if mcelog.logging.syslog_error else 'no' }} |
|
|
|
{%- endif %} |
|
|
|
{%- if mcelog.logging.no_syslog is defined %} |
|
|
|
no-syslog = {{ 'yes' if mcelog.logging.no_syslog else 'no' }} |
|
|
|
{%- endif %} |
|
|
|
{%- if mcelog.logging.logfile is defined %} |
|
|
|
logfile = {{ mcelog.logging.logfile }} |
|
|
|
{%- endif %} |
|
|
|
|
|
|
|
{%- endif %} |
|
|
|
# Use SMBIOS information to decode DIMMs (needs root). |
|
|
|
# This function is not recommended to use right now and generally not needed. |
|
|
|
# The exception is memdb prepopulation, which is configured separately below. |
|
|
|
#dmi = no |
|
|
|
|
|
|
|
# When in daemon mode run as this user after set up. |
|
|
|
# Note that the triggers will run as this user too. |
|
|
|
# Setting this to non root will mean that triggers cannot take some corrective |
|
|
|
# action, like offlining objects. |
|
|
|
#run-credentials-user = root |
|
|
|
|
|
|
|
# group to run as daemon with |
|
|
|
# default to the group of the run-credentials-user |
|
|
|
#run-credentials-group = nobody |
|
|
|
|
|
|
|
[server] |
|
|
|
# user allowed to access client socket. |
|
|
|
# when set to * match any |
|
|
|
# root is always allowed to access. |
|
|
|
# default: root only |
|
|
|
client-user = root |
|
|
|
# group allowed to access mcelog |
|
|
|
# When no group is configured any group matches (but still user checking). |
|
|
|
# when set to * match any |
|
|
|
#client-group = root |
|
|
|
# Path to the unix socket for client<->server communication. |
|
|
|
# When no socket-path is configured the server will not start |
|
|
|
#socket-path = /var/run/mcelog-client |
|
|
|
# When mcelog starts it checks if a server is already running. This configures the timeout |
|
|
|
# for this check. |
|
|
|
#initial-ping-timeout = 2 |
|
|
|
# |
|
|
|
[dimm] |
|
|
|
# Is the in memory DIMM error tracking enabled? |
|
|
|
# Only works on systems with integrated memory controller and |
|
|
|
# which are supported. |
|
|
|
# Only takes effect in daemon mode. |
|
|
|
dimm-tracking-enabled = yes |
|
|
|
# Use DMI information from the BIOS to prepopulate DIMM database. |
|
|
|
# Note this might not work with all BIOS and requires mcelog to run as root. |
|
|
|
# Alternative is to let mcelog create DIMM objects on demand. |
|
|
|
dmi-prepopulate = yes |
|
|
|
# |
|
|
|
# Execute these triggers when the rate of corrected or uncorrected |
|
|
|
# Errors per DIMM exceeds the threshold. |
|
|
|
# Note when the hardware does not report DIMMs this might also |
|
|
|
# be per channel. |
|
|
|
# The default of 10/24h is reasonable for server quality |
|
|
|
# DDR3 DIMMs as of 2009/10. |
|
|
|
#uc-error-trigger = dimm-error-trigger |
|
|
|
uc-error-threshold = 1 / 24h |
|
|
|
#ce-error-trigger = dimm-error-trigger |
|
|
|
ce-error-threshold = 10 / 24h |
|
|
|
|
|
|
|
[socket] |
|
|
|
# Enable memory error accounting per socket. |
|
|
|
socket-tracking-enabled = yes |
|
|
|
|
|
|
|
# Threshold and trigger for uncorrected memory errors on a socket. |
|
|
|
# mem-uc-error-trigger = socket-memory-error-trigger |
|
|
|
|
|
|
|
mem-uc-error-threshold = 100 / 24h |
|
|
|
|
|
|
|
# Trigger script for corrected memory errors on a socket. |
|
|
|
mem-ce-error-trigger = socket-memory-error-trigger |
|
|
|
|
|
|
|
# Threshold on when to trigger a correct error for the socket. |
|
|
|
|
|
|
|
mem-ce-error-threshold = 100 / 24h |
|
|
|
|
|
|
|
# Log socket error threshold explicitely? |
|
|
|
mem-ce-error-log = yes |
|
|
|
|
|
|
|
# Trigger script for uncorrected bus error events |
|
|
|
bus-uc-threshold-trigger = bus-error-trigger |
|
|
|
|
|
|
|
# Trigger script for uncorrected IOMCA erors |
|
|
|
iomca-threshold-trigger = iomca-error-trigger |
|
|
|
|
|
|
|
# Trigger script for other uncategorized errors |
|
|
|
unknown-threshold-trigger = unknown-error-trigger |
|
|
|
|
|
|
|
[cache] |
|
|
|
# Processing of cache error thresholds reported by Intel CPUs. |
|
|
|
cache-threshold-trigger = cache-error-trigger |
|
|
|
|
|
|
|
# Should cache threshold events be logged explicitely? |
|
|
|
cache-threshold-log = yes |
|
|
|
|
|
|
|
[page] |
|
|
|
# Memory error accouting per 4K memory page. |
|
|
|
# Threshold for the correct memory errors trigger script. |
|
|
|
memory-ce-threshold = 10 / 24h |
|
|
|
|
|
|
|
# Trigger script for corrected errors. |
|
|
|
# memory-ce-trigger = page-error-trigger |
|
|
|
|
|
|
|
# Should page threshold events be logged explicitely? |
|
|
|
memory-ce-log = yes |
|
|
|
|
|
|
|
# specify the internal action in mcelog to exceeding a page error threshold |
|
|
|
# this is done in addition to executing the trigger script if available |
|
|
|
# off no action |
|
|
|
# account only account errors |
|
|
|
# soft try to soft-offline page without killing any processes |
|
|
|
# This requires an uptodate kernel. Might not be successfull. |
|
|
|
# hard try to hard-offline page by killing processes |
|
|
|
# Requires an uptodate kernel. Might not be successfull. |
|
|
|
# soft-then-hard First try to soft offline, then try hard offlining |
|
|
|
#memory-ce-action = off|account|soft|hard|soft-then-hard |
|
|
|
memory-ce-action = soft |
|
|
|
|
|
|
|
[trigger] |
|
|
|
# Maximum number of running triggers |
|
|
|
children-max = 2 |
|
|
|
# execute triggers in this directory |
|
|
|
directory = /etc/mcelog |