33 |
- |
1 |
#!/bin/sh
|
|
|
2 |
# This shell script can be executed by mcelog in daemon mode when a page
|
|
|
3 |
# in memory exceeds a pre-configured corrected error threshold.
|
|
|
4 |
# mcelog internally also supports offlining the page through the kernel.
|
|
|
5 |
#
|
|
|
6 |
# environment:
|
|
|
7 |
# THRESHOLD human readable threshold status
|
|
|
8 |
# MESSAGE Human readable consolidated error message
|
|
|
9 |
# TOTALCOUNT total count of errors for current DIMM of CE/UC depending on
|
|
|
10 |
# what triggered the event
|
|
|
11 |
# LOCATION Consolidated location as a single string
|
|
|
12 |
# DMI_LOCATION DIMM location from DMI/SMBIOS if available
|
|
|
13 |
# DMI_NAME DIMM identifier from DMI/SMBIOS if available
|
|
|
14 |
# DIMM DIMM number reported by hardware
|
|
|
15 |
# CHANNEL Channel number reported by hardware
|
|
|
16 |
# SOCKETID Socket ID of CPU that includes the memory controller with the DIMM
|
|
|
17 |
# CECOUNT Total corrected error count for DIMM
|
|
|
18 |
# UCCOUNT Total uncorrected error count for DIMM
|
|
|
19 |
# LASTEVENT Time stamp of event that triggered threshold (in time_t format, seconds)
|
|
|
20 |
# THRESHOLD_COUNT Total umber of events in current threshold time period of specific type
|
|
|
21 |
#
|
|
|
22 |
# note: will run as mcelog configured user
|
|
|
23 |
# this can be changed in mcelog.conf
|
|
|
24 |
|
|
|
25 |
logger -s -p daemon.err -t mcelog "$MESSAGE"
|
|
|
26 |
logger -s -p daemon.err -t mcelog "Location: $LOCATION"
|
|
|
27 |
|
|
|
28 |
[ -x ./page-error-trigger.local ] && . ./page-error-trigger.local
|
|
|
29 |
|
|
|
30 |
exit 0
|