A multi-core processor, comprising: a monitored processor core (20#1) whose process result is to be monitored; a monitoring processor core group (20#2, 20#3, 20#4) including two or more monitoring processor cores for performing a process for monitoring the monitored processor core (20#1); and a calculating part configured to calculate an average value of CPU usage percentages in the monitoring processor core group (20#2, 20#3, 20#4), and a controlling part configured to make the monitoring processor core group (20#2, 20#3, 20#4) perform the process for monitoring the monitored processor core (20#1) in a distributed manner for a case where the average value of CPU usage percentages in the monitoring processor core group (20#2, 20#3, 20#4) is lower than or equal to a reference value, and to make one of the monitoring processor cores of the monitoring processor core group (20#2, 20#3, 20#4) perform the process for monitoring the monitored processor core (20#1) without making the others of the monitoring processor cores of the monitoring processor core group (20#2, 20#3, 20#4) perform the process for monitoring the monitored processor core (20#1) for a case where the average value of CPU usage percentages in the monitoring processor core group (20#2, 20#3, 20#4) is higher than the reference value, the one of the monitoring processor cores of the monitoring processor core group (20#2, 20#3, 20#4) being the monitoring processor core performing a process whose priority is lowest, wherein for the case where the average value of CPU usage percentages in the monitoring processor core group (20#2, 20#3, 20#4) is lower than or equal to the reference value, the controlling part is configured to make the monitoring processor core group (20#2, 20#3, 20#4) perform a plurality of processes (A-1, A-2 and A-3) that are performed by the monitored processor core (20#1), respectively, during respites in their own processes (B, C and D), and wherein for the case where the average value of CPU usage percentages in the monitoring processor core group (20#2, 20#3, 20#4) is higher than the reference value, the controlling part is configured to make the one of the monitoring processor cores of the monitoring processor core group (20#2, 20#3, 20#4) perform all of the plurality of processes (A-1, A-2 and A-3) that are performed by the monitored processor core (20#1), in a concentrated manner. a monitored processor core (20#1) whose process result is to be monitored; a monitoring processor core group (20#2, 20#3, 20#4) including two or more monitoring processor cores for performing a process for monitoring the monitored processor core (20#1); and a calculating part configured to calculate an average value of CPU usage percentages in the monitoring processor core group (20#2, 20#3, 20#4), and a controlling part configured to make the monitoring processor core group (20#2, 20#3, 20#4) perform the process for monitoring the monitored processor core (20#1) in a distributed manner for a case where the average value of CPU usage percentages in the monitoring processor core group (20#2, 20#3, 20#4) is lower than or equal to a reference value, and to make one of the monitoring processor cores of the monitoring processor core group (20#2, 20#3, 20#4) perform the process for monitoring the monitored processor core (20#1) without making the others of the monitoring processor cores of the monitoring processor core group (20#2, 20#3, 20#4) perform the process for monitoring the monitored processor core (20#1) for a case where the average value of CPU usage percentages in the monitoring processor core group (20#2, 20#3, 20#4) is higher than the reference value, the one of the monitoring processor cores of the monitoring processor core group (20#2, 20#3, 20#4) being the monitoring processor core performing a process whose priority is lowest, wherein for the case where the average value of CPU usage percentages in the monitoring processor core group (20#2, 20#3, 20#4) is lower than or equal to the reference value, the controlling part is configured to make the monitoring processor core group (20#2, 20#3, 20#4) perform a plurality of processes (A-1, A-2 and A-3) that are performed by the monitored processor core (20#1), respectively, during respites in their own processes (B, C and D), and wherein for the case where the average value of CPU usage percentages in the monitoring processor core group (20#2, 20#3, 20#4) is higher than the reference value, the controlling part is configured to make the one of the monitoring processor cores of the monitoring processor core group (20#2, 20#3, 20#4) perform all of the plurality of processes (A-1, A-2 and A-3) that are performed by the monitored processor core (20#1), in a concentrated manner.