'\" t .TH "mcelog.triggers" 5 "mcelog" .SH NAME mcelog.triggers \- mcelog trigger scripts reference .SH SYNOPSIS .B /etc/mcelog/bus-error-trigger .br .B /etc/mcelog/cache-error-trigger .br .B /etc/mcelog/dimm-error-trigger .br .B /etc/mcelog/iomca-error-trigger .br .B /etc/mcelog/page-error-trigger .br .B /etc/mcelog/socket-memory-error-trigger .br .B /etc/mcelog/unknown-error-trigger .br .SH DESCRIPTION .BR mcelog(8) maintains thresholds of errors using a .I leaky-bucket algorithm. When the number of errors in a specific time window exceeds a pre-configured threshold a .I trigger will be executed. Triggers are usually shell scripts in the .B /etc/mcelog directory but can be also other internal actions. Thresholds and triggers can be configured in .BR mcelog.conf(5) Trigger will run as the user configured for mcelog in .I mcelog.conf, by default root. The default trigger action can be overridden by specifying a different trigger script in the configuration file. Actions in addition to the default trigger (like notifying an administrator) can be put into the respective .I /etc/mcelog/*.local script which is executed after the default action. This allows updating the default scripts without overriding local actions. All trigger actions are also logged to syslog. .PP .B "The DIMM and socket memory error triggers" .PP The .B /etc/mcelog/dimm-error-trigger and .B /etc/mcelog/socket-memory-error-trigger scripts are executed when a DIMM or a CPU socket exceeds a configured corrected or uncorrected memory error threshold. The thresholds are configured in the .B mcelog.conf .I [dimm] and .I [socket] sections. The default triggers log a warning message in the system log. The triggers are only executed when mcelog runs as a daemon. Arguments are passed as environment variables .TS tab(:); l l. THRESHOLD:human readable threshold status MESSAGE:Human readable consolidated error message TOTALCOUNT:total corrected or uncorrected count of errors for current DIMM depending on what triggered the event LOCATION:Consolidated location as a single string DMI_LOCATION:DIMM location from DMI/SMBIOS if available DMI_NAME:DIMM identifier from DMI/SMBIOS if available DIMM:DIMM number reported by hardware CHANNEL:Channel number reported by hardware SOCKETID:Socket ID of CPU that includes the memory controller with the DIMM CECOUNT:Total corrected error count for DIMM UCCOUNT:Total uncorrected error count for DIMM LASTEVENT:Time stamp of event that triggered threshold (in time_t format, seconds) THRESHOLD_COUNT:Total umber of events in current threshold time period of specific type .TE After the default action local actions in .B /etc/mcelog/dimm-error-trigger.local or respective .B /etc/mcelog/socket-memory-error-trigger.local are executed. .PP .B "The page error trigger" .PP The .B /etc/mcelog/page-error-trigger script is executed by mcelog in daemon mode when a page in memory exceeds a pre-configured corrected or uncorrected error threshold. mcelog internally also implements offlining the page through the kernel. This is configured through the .I [page] section of .BR mcelog.conf(5) .PP The environment arguments are the same as for the .I dimm-error-trigger script .PP After the default action local actions in .I /etc/mcelog/page-error-trigger.loccal are executed. .PP .B "The cache error trigger" .PP The .I /etc/mcelog/cache-error-trigger shell script is called for cache error handling in daemon mode when a CPU reports excessive corrected cache errors. This could be a indication for future uncorrected errors. .PP This trigger is configured through the .B [cache] section in the .BR mcelog.conf(5) configuration file. The threshold is defined by the CPU. The default trigger offlines the affected CPU cores, unless it is the last core running. .PP Arguments are passed as environment variables .TS tab(:); l l. MESSAGE:Human readable error message CPU:Linux CPU number that triggered the error LEVEL:Cache level affected by error TYPE:Cache type affected by error (Data,Instruction,Generic) AFFECTED_CPUS:List of CPUs sharing the affected cache SOCKETID:Socket ID of affected CPU .TE .PP After the default action local actions in .I /etc/mcelog/cache-error-trigger.local are executed. .PP .B "The bus-uc-threshold-trigger" .PP The .B bus-uc-threshold-trigger runs on uncorrected errors on a IO bus. It is configured through the .B bus-uc-threshold-trigger and .B bus-uc-threshold-trigger-threshold options in .I /etc/mcelog.conf(5). By default it logs a message with the error location to the system log. After the default action local actions in .I /etc/mcelog/bus-uc-error-trigger.local are executed. .PP Arguments are passed as environment variables .TS tab(:); l l. MESSAGE:Human readable consolidated error message. LOCATION:Consolidated location as a single string SOCKETID:Socket ID of CPU that includes the memory controller with the DIMM LEVEL:Interconnect level PARTICIPATION:Processor Participation (Originator, Responder or Observer) REQUEST:Request type (read, write, prefetch, etc.) ORIGIN :Memory or IO TIMEOUT:The request timed out or not .TE .PP .B "The iomca-error-trigger" .PP The .B iomca-error-trigger runs when a socket receives bus or interconnect errors. It is configured through the .B iomca-error-trigger and .B iomca-error-trigger-threshold options in .I /etc/mcelog.conf. By default it logs a message with the error location to the system log. After the default action local actions in .I /etc/mcelog/iomca-error-trigger.local are executed. .PP Arguments are passed as environment variables .TS tab(:); l l. MESSAGE:Human readable consolidated error message LOCATION:Consolidated location as a single string SOCKETID:Socket ID of CPU that includes the memory controller with the DIMM CPU:Linux CPU number that triggered the error SET:PCI segment number BUS:PCI bus number DEVICE:PCI device number FUNCTION:PCI function number .TE .PP .B "The unknown-error-trigger" .PP The .B unknown-error-trigger runs on any errors not otherwise categorized. It is configured through the .B unknown-error-trigger and .B unknown-error-trigger-threshold options in .I /etc/mcelog.conf. By default it logs a message to the system log. After the default action local actions in .I /etc/mcelog/unknown-error-trigger.local are executed. .PP Arguments are passed as environment variables .TS tab(:); l l. MESSAGE:Human readable consolidated error message LOCATION:Consolidated location as a single string SOCKETID:Socket ID of CPU that includes the memory controller with the DIMM CPU:Linux CPU number that triggered the error STATUS:IA32_MCi_STATUS register value ADDR:IA32_MCi_ADDR register value MISC:IA32_MCi_MISC register value MCGSTATUS:IA32_MCG_STATUS register value MCGCAP:IA32_MCG_CAP register value .TE .SH SEE ALSO http://www.mcelog.org .B mcelog(8), .B mcelog.conf(5)