Высокий LA на WB6

Помогите разобраться с причиной высокой загрузки - LA = 4 при одноядерном cpu. Хотя при этом он больше и не растет.

О системе

journalctl

root@wirenboard-AL6T47MH:~# journalctl -u wb-mqtt-serial -n 100 --no-pager
– Logs begin at Mon 2026-07-06 16:58:19 UTC, end at Tue 2026-07-07 14:57:38 UTC. –
Jul 07 14:08:09 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 1 input(s) @ 8442 of device modbus:72: Serial protocol error: malformed response: invalid data size
Jul 07 14:08:29 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 4 input(s) @ 4652 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:09:49 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 17156 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:10:29 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 4 input(s) @ 12804 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:11:09 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 1 input(s) @ 16633 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:11:30 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 13056 of device modbus:72: Serial protocol error: malformed response: invalid data size
Jul 07 14:11:50 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 1 holding(s) @ 100 of device modbus:13: Serial protocol error: malformed response: invalid crc
Jul 07 14:11:51 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:13:10 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 5136 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:13:30 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:13: Serial protocol error: malformed response: invalid crc
Jul 07 14:13:50 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 1 input(s) @ 12537 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:15:00 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 8 discrete(s) @ 0 of device modbus:13: Serial protocol error: request timed out
Jul 07 14:15:30 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 1 input(s) @ 16635 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:16:30 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 4 input(s) @ 16932 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:17:10 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 1 input(s) @ 12539 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:17:50 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 1 input(s) @ 16572 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:18:09 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 10266 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:18:10 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:19:10 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 13066 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:19:30 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 1 holding(s) @ 100 of device modbus:13: Serial protocol error: malformed response: invalid crc
Jul 07 14:19:30 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 6162 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:20:30 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 1 input(s) @ 12539 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:22:10 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 4884 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:22:23 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 16 input(s) @ 60 of device modbus:13: Serial protocol error: request timed out
Jul 07 14:24:11 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 16 input(s) @ 60 of device modbus:13: Serial protocol error: malformed response: invalid crc
Jul 07 14:24:51 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 1 holding(s) @ 100 of device modbus:13: Serial protocol error: malformed response: invalid crc
Jul 07 14:24:51 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 4 input(s) @ 12800 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:25:11 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 5140 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:28:11 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 1 input(s) @ 12538 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:28:26 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 8 discrete(s) @ 0 of device modbus:13: Serial protocol error: request timed out
Jul 07 14:28:41 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 16 input(s) @ 60 of device modbus:13: Serial protocol error: request timed out
Jul 07 14:29:11 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 8 discrete(s) @ 0 of device modbus:13: Serial protocol error: malformed response: invalid crc
Jul 07 14:31:31 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 8382 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:32:31 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 13072 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:33:52 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 16 input(s) @ 60 of device modbus:13: Serial protocol error: malformed response: invalid crc
Jul 07 14:34:12 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 5144 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:34:53 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 4 input(s) @ 16900 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:35:32 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 17152 of device modbus:72: Serial protocol error: malformed response: invalid data size
Jul 07 14:37:12 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 1 input(s) @ 8442 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:38:32 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 6170 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:39:12 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 8 discrete(s) @ 0 of device modbus:13: Serial protocol error: malformed response: invalid crc
Jul 07 14:39:53 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 5144 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:40:13 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 1 input(s) @ 16633 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:43:13 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 2 input(s) @ 270 of device modbus:13: Serial protocol error: malformed response: invalid crc
Jul 07 14:43:53 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 4 input(s) @ 8708 of device modbus:72: Serial protocol error: malformed response: invalid crc
Jul 07 14:50:13 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [modbus] failed to read 1 holding(s) @ 100 of device modbus:13: Serial protocol error: malformed response: invalid crc
Jul 07 14:51:29 wirenboard-AL6T47MH wb-mqtt-serial[28672]: INFO: [signal handling] Received signal 15
Jul 07 14:51:29 wirenboard-AL6T47MH systemd[1]: Stopping MQTT Driver for serial devices…
Jul 07 14:51:31 wirenboard-AL6T47MH wb-mqtt-serial[28672]: WARNING: [rpc] Unable to cleanup topic ‘/rpc/v1/wb-mqtt-serial/metrics/Load’: timed out
Jul 07 14:51:37 wirenboard-AL6T47MH systemd[1]: Stopped MQTT Driver for serial devices.
– Reboot –
Jul 07 14:53:45 wirenboard-AL6T47MH systemd[1]: Started MQTT Driver for serial devices.
Jul 07 14:54:22 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [mqtt] Default host and port detected, checking if UNIX socket exists on /var/run/mosquitto/mosquitto.sock
Jul 07 14:54:22 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [mqtt] UNIX socket not found, falling back to TCP connection
Jul 07 14:54:23 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [mqtt] connection estabilished with code “0”
Jul 07 14:54:23 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [mqtt] subscription succeeded (message id 1)
Jul 07 14:54:23 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [mqtt] subscription succeeded (message id 2)
Jul 07 14:54:23 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [mqtt] subscription succeeded (message id 110)
Jul 07 14:54:23 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [mqtt] subscription succeeded (message id 117)
Jul 07 14:54:23 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [mqtt] subscription succeeded (message id 118)
Jul 07 14:54:26 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [mqtt] subscription succeeded (message id 1125)
Jul 07 14:54:26 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [mqtt] subscription succeeded (message id 1126)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [mqtt] subscription succeeded (message id 1130)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [serial device] device modbus:13 is connected
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 1 Actual Phase L1: setup register <modbus:72:holding: 5280> ← 1 (0x1)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 1 Phi L1: setup register <modbus:72:holding: 5219> ← 52 (0x34)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 1 Turns L1: setup register <modbus:72:holding: 5216> ← 10005 (0x2715)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 1 Actual Phase L2: setup register <modbus:72:holding: 5281> ← 2 (0x2)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 1 Phi L2: setup register <modbus:72:holding: 5220> ← 71 (0x47)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 1 Turns L2: setup register <modbus:72:holding: 5217> ← 10015 (0x271f)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 1 Actual Phase L3: setup register <modbus:72:holding: 5282> ← 3 (0x3)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 1 Phi L3: setup register <modbus:72:holding: 5221> ← 46 (0x2e)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 1 Turns L3: setup register <modbus:72:holding: 5218> ← 10010 (0x271a)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 2 Actual Phase L1: setup register <modbus:72:holding: 9376> ← 1 (0x1)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 2 Phi L1: setup register <modbus:72:holding: 9315> ← 798 (0x31e)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 2 Turns L1: setup register <modbus:72:holding: 9312> ← 2991 (0xbaf)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 2 Actual Phase L2: setup register <modbus:72:holding: 9377> ← 2 (0x2)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 2 Phi L2: setup register <modbus:72:holding: 9316> ← 749 (0x2ed)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 2 Turns L2: setup register <modbus:72:holding: 9313> ← 2990 (0xbae)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 2 Actual Phase L3: setup register <modbus:72:holding: 9378> ← 3 (0x3)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 2 Phi L3: setup register <modbus:72:holding: 9317> ← 919 (0x397)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 2 Turns L3: setup register <modbus:72:holding: 9314> ← 2994 (0xbb2)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 3 Actual Phase L1: setup register <modbus:72:holding: 13472> ← 1 (0x1)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 3 Phi L1: setup register <modbus:72:holding: 13411> ← 942 (0x3ae)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 3 Turns L1: setup register <modbus:72:holding: 13408> ← 2993 (0xbb1)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 3 Actual Phase L2: setup register <modbus:72:holding: 13473> ← 2 (0x2)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 3 Phi L2: setup register <modbus:72:holding: 13412> ← 1048 (0x418)
Jul 07 14:54:35 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 3 Turns L2: setup register <modbus:72:holding: 13409> ← 2993 (0xbb1)
Jul 07 14:54:36 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 3 Actual Phase L3: setup register <modbus:72:holding: 13474> ← 1 (0x1)
Jul 07 14:54:36 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 3 Phi L3: setup register <modbus:72:holding: 13413> ← 986 (0x3da)
Jul 07 14:54:36 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 3 Turns L3: setup register <modbus:72:holding: 13410> ← 2995 (0xbb3)
Jul 07 14:54:36 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 4 Actual Phase L1: setup register <modbus:72:holding: 17568> ← 1 (0x1)
Jul 07 14:54:36 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 4 Phi L1: setup register <modbus:72:holding: 17507> ← 1027 (0x403)
Jul 07 14:54:36 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 4 Turns L1: setup register <modbus:72:holding: 17504> ← 2992 (0xbb0)
Jul 07 14:54:36 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 4 Actual Phase L2: setup register <modbus:72:holding: 17569> ← 2 (0x2)
Jul 07 14:54:36 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 4 Phi L2: setup register <modbus:72:holding: 17508> ← 941 (0x3ad)
Jul 07 14:54:36 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 4 Turns L2: setup register <modbus:72:holding: 17505> ← 2993 (0xbb1)
Jul 07 14:54:36 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 4 Actual Phase L3: setup register <modbus:72:holding: 17570> ← 3 (0x3)
Jul 07 14:54:36 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 4 Phi L3: setup register <modbus:72:holding: 17509> ← 959 (0x3bf)
Jul 07 14:54:36 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [modbus] Init: Channel 4 Turns L3: setup register <modbus:72:holding: 17506> ← 2993 (0xbb1)
Jul 07 14:54:36 wirenboard-AL6T47MH wb-mqtt-serial[1600]: INFO: [serial device] device modbus:72 is connected

dmesg и прочее

root@wirenboard-AL6T47MH:~# echo 1 > /proc/sys/vm/block_dump && sleep 10 && echo 0 > /proc/sys/vm/block_dump
root@wirenboard-AL6T47MH:~# dmesg | tail -n 50
[ 9547.052657] generate-system(7068): dirtied inode 4868 (sh-thd.OnLnzn) on mmcblk0p2
[ 9547.052732] generate-system(7068): dirtied inode 4868 (sh-thd.OnLnzn) on mmcblk0p2
[ 9547.118046] generate-system(7161): dirtied inode 4868 (sh-thd.75o3RE) on mmcblk0p2
[ 9547.118088] generate-system(7161): dirtied inode 4868 (sh-thd.75o3RE) on mmcblk0p2
[ 9547.549905] generate-system(7068): dirtied inode 4868 (sh-thd.0ygTm9) on mmcblk0p2
[ 9547.549945] generate-system(7068): dirtied inode 4868 (sh-thd.0ygTm9) on mmcblk0p2
[ 9547.594571] generate-system(7210): dirtied inode 4868 (sh-thd.8ajaj0) on mmcblk0p2
[ 9547.594612] generate-system(7210): dirtied inode 4868 (sh-thd.8ajaj0) on mmcblk0p2
[ 9547.881197] generate-system(7068): dirtied inode 4868 (sh-thd.bhrBUa) on mmcblk0p2
[ 9547.881236] generate-system(7068): dirtied inode 4868 (sh-thd.bhrBUa) on mmcblk0p2
[ 9547.909320] generate-system(7259): dirtied inode 4868 (sh-thd.R6xrse) on mmcblk0p2
[ 9547.909362] generate-system(7259): dirtied inode 4868 (sh-thd.R6xrse) on mmcblk0p2
[ 9548.184066] generate-system(7068): dirtied inode 4868 (sh-thd.SPgl1w) on mmcblk0p2
[ 9548.184109] generate-system(7068): dirtied inode 4868 (sh-thd.SPgl1w) on mmcblk0p2
[ 9548.241414] generate-system(7308): dirtied inode 4868 (sh-thd.jmp9oY) on mmcblk0p2
[ 9548.241461] generate-system(7308): dirtied inode 4868 (sh-thd.jmp9oY) on mmcblk0p2
[ 9548.774442] generate-system(7068): dirtied inode 4868 (sh-thd.jEO1hz) on mmcblk0p2
[ 9548.774485] generate-system(7068): dirtied inode 4868 (sh-thd.jEO1hz) on mmcblk0p2
[ 9548.803814] generate-system(7384): dirtied inode 4868 (sh-thd.UVTgXD) on mmcblk0p2
[ 9548.803856] generate-system(7384): dirtied inode 4868 (sh-thd.UVTgXD) on mmcblk0p2
[ 9549.103003] generate-system(7068): dirtied inode 4868 (sh-thd.noWT3Q) on mmcblk0p2
[ 9549.103095] generate-system(7068): dirtied inode 4868 (sh-thd.noWT3Q) on mmcblk0p2
[ 9549.114799] jbd2/mmcblk0p6-(194): WRITE block 1050656 on mmcblk0p6 (8 sectors)
[ 9549.114855] jbd2/mmcblk0p6-(194): WRITE block 1050664 on mmcblk0p6 (8 sectors)
[ 9549.114876] jbd2/mmcblk0p6-(194): WRITE block 1050672 on mmcblk0p6 (8 sectors)
[ 9549.114891] jbd2/mmcblk0p6-(194): WRITE block 1050680 on mmcblk0p6 (8 sectors)
[ 9549.114905] jbd2/mmcblk0p6-(194): WRITE block 1050688 on mmcblk0p6 (8 sectors)
[ 9549.114917] jbd2/mmcblk0p6-(194): WRITE block 1050696 on mmcblk0p6 (8 sectors)
[ 9549.114931] jbd2/mmcblk0p6-(194): WRITE block 1050704 on mmcblk0p6 (8 sectors)
[ 9549.114944] jbd2/mmcblk0p6-(194): WRITE block 1050712 on mmcblk0p6 (8 sectors)
[ 9549.131134] jbd2/mmcblk0p6-(194): WRITE block 1050720 on mmcblk0p6 (8 sectors)
[ 9549.139897] generate-system(7433): dirtied inode 4868 (sh-thd.I88Gtb) on mmcblk0p2
[ 9549.139939] generate-system(7433): dirtied inode 4868 (sh-thd.I88Gtb) on mmcblk0p2
[ 9549.418117] generate-system(7068): dirtied inode 4868 (sh-thd.dvh3Es) on mmcblk0p2
[ 9549.418159] generate-system(7068): dirtied inode 4868 (sh-thd.dvh3Es) on mmcblk0p2
[ 9549.446774] generate-system(7482): dirtied inode 4868 (sh-thd.hS6Xt7) on mmcblk0p2
[ 9549.446816] generate-system(7482): dirtied inode 4868 (sh-thd.hS6Xt7) on mmcblk0p2
[ 9549.749112] generate-system(7068): dirtied inode 4868 (sh-thd.Hk1O0r) on mmcblk0p2
[ 9549.749155] generate-system(7068): dirtied inode 4868 (sh-thd.Hk1O0r) on mmcblk0p2
[ 9549.777983] generate-system(7531): dirtied inode 4868 (sh-thd.UXijrt) on mmcblk0p2
[ 9549.778027] generate-system(7531): dirtied inode 4868 (sh-thd.UXijrt) on mmcblk0p2
[ 9550.126246] generate-system(7068): dirtied inode 4868 (sh-thd.SznxJI) on mmcblk0p2
[ 9550.126287] generate-system(7068): dirtied inode 4868 (sh-thd.SznxJI) on mmcblk0p2
[ 9550.155397] generate-system(7580): dirtied inode 4868 (sh-thd.rpmFC1) on mmcblk0p2
[ 9550.155441] generate-system(7580): dirtied inode 4868 (sh-thd.rpmFC1) on mmcblk0p2
[ 9550.313057] kworker/u2:0(16865): WRITE block 2382624 on mmcblk0p6 (8 sectors)
[ 9550.578442] generate-system(7068): dirtied inode 4868 (sh-thd.to3zaw) on mmcblk0p2
[ 9550.578485] generate-system(7068): dirtied inode 4868 (sh-thd.to3zaw) on mmcblk0p2
[ 9550.607334] generate-system(7635): dirtied inode 4868 (sh-thd.VJ1vMm) on mmcblk0p2
[ 9550.607378] generate-system(7635): dirtied inode 4868 (sh-thd.VJ1vMm) on mmcblk0p2
root@wirenboard-AL6T47MH:~# find /var/log/ -mmin -5 -type f -exec ls -la {} ;
-rw------- 1 mosquitto mosquitto 938379 Jul 8 15:48 /var/log/mosquitto/mosquitto.log
-rw-r-----+ 1 root systemd-journal 8388608 Jul 8 15:48 /var/log/journal/f0e6ead98d8730479f97ff005cac8c0f/system.journal
-rw-r----- 1 zabbix zabbix 166272 Jul 8 15:48 /var/log/zabbix-agent/zabbix_agentd.log
-rw-r----- 1 root root 346433 Jul 8 15:48 /var/log/messages
root@wirenboard-AL6T47MH:~# df -h && du -h --max-depth=1 /var/log/
Filesystem Size Used Avail Use% Mounted on
/dev/root 980M 516M 397M 57% /
devtmpfs 239M 0 239M 0% /dev
tmpfs 248M 0 248M 0% /dev/shm
tmpfs 248M 524K 247M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 248M 0 248M 0% /sys/fs/cgroup
/dev/mmcblk0p6 1.3G 380M 833M 32% /mnt/data
tmpfs 50M 0 50M 0% /run/user/0
9.1M /var/log/mosquitto
130M /var/log/journal
952K /var/log/zabbix-agent
4.0K /var/log/wirenboard
72K /var/log/apt
4.0K /var/log/ntpstats
564K /var/log/nginx
4.0K /var/log/watchdog
142M /var/log/
root@wirenboard-AL6T47MH:~# date
Wed Jul 8 15:50:54 +05 2026

TOP

TOP Time

Пытался менять параметры “poll_interval” и “read_rate_limit_ms” в wb-mqtt-serial.conf, но результата не заметил. Из оборудования у нас к нему подключены как минимум МСМ8, 9 термометров по 1-wire и MAP12E. Пробовал через веб-интерфейс отключать (снимать галочку) каналы 1w и rs485 - LA падал разве что чуть ниже 3. Возможно у нас всегда так и было. Стоит ли с этим разбираться?

В анализ дисковой активности еще не пробовал. Спасибо.

Добрый день.
Тут, в общем дело не в нагрузке как таковой. А в ее причине.
Вижу что при обмене Modbus есть ошибки, причем больше допустимого количества. Обычно считается что одна две в минуту - в условиях промышленных помех более-менее норма.
Но следствие ошибок - запись во флеш.
И как раз очередь на запись (ввод-вывод) и создает нагрузку.

Проверьте

cat /proc/loadavg

Рекомендую разобраться с причиной - то есть проверить как спроектирована и работает шина.
Типично - сначала останавливают wb-mqtt-seriаl, затем опрашивают решистр устройства несколько сотен раз - и по количеству ошибок можно оценить.
Потом то же устройство подключают к тому же порту но заведомо исправным коротким кабелем. и снова опрашиввают. Если ошибок меньше - то нужна ревизия шины.

Спасибо,
@wirenboard-AL6T47MHwirenboard-AL6T47MHwirenboard-AL6T47MHwirenboard-AL6T47MH:~# cat /proc/loadavg
3.67 3.59 3.64 4/181 30509
на сколько я понимаю это тоже самое что и в top?
Какие значения можно ожидать если я просто физически откину 1w и rs485? И будет ли это те же самым что я пытался делать выше через интерфейс? Или отключить сервисы для проверки.
Еще смущает что ожидание накопителя - wa находится в пределах единицы, что вроде немного.
Находится ли флеш под угрозой из-за такой эксплуатации?
Я не очень силен в линуксе и если можно, подробнее про то как останавливается serial и проводится “ручной” опрос несколько сотен раз?
Стоит ли более глубоко мониторить работу диска? vmstat, iotop?
Вот кстати гугл ии насоветовал:

Спойлер

root@wirenboard-AL6T47MH:~# cat /sys/class/mmc_host/mmc0/mmc0:/life_time
0x0b 0x05
root@wirenboard-AL6T47MH:~# cat /sys/class/mmc_host/mmc0/mmc0:/pre_eol_info
0x01

Спойлер

Вывод 0x0b 0x05 означает, что встроенная память (eMMC) вашего контроллера Wiren Board уже сильно изношена, причем один из типов ячеек памяти находится на грани критического отказа.
Вот точная расшифровка этих шестнадцатеричных (HEX) значений согласно спецификации JEDEC (eMMC):

Расшифровка значений

  • 0x0b (Первое число) — Износ памяти типа SLC (обычно это быстрый кэш или системный раздел).
  • В десятичной системе 0x0b = 11.
    • По стандарту это означает износ от 100% до 110%. Этот блок памяти уже исчерпал свой гарантированный ресурс и работает на пределе возможностей.
  • 0x05 (Второе число) — Износ памяти типа MLC/TLC (основной массив, где хранятся пользовательские данные и история).
  • В десятичной системе 0x05 = 5.
    • Это означает износ от 40% до 50%. Здесь запас прочности еще есть.

Насколько это опасно?

Ситуация требует немедленного внимания. Износ SLC-кэша выше 100% (0x0b) означает, что в любой момент контроллер Wiren Board может «окуклиться» — уйти в режим Read-Only (защита от записи) или полностью перестать загружаться. Часто это проявляется в том, что после перезагрузки пропадают настройки, перестают сохраняться графики или операционная система начинает сыпать ошибками ввода-вывода (I/O errors).

Что делать прямо сейчас?

  1. Сделайте резервную копию: Срочно сохраните все важные конфиги, скрипты wb-rules, базу данных истории (обычно influxdb или sqlite) и дамп конфигурации через веб-интерфейс.
  2. Снизьте нагрузку на запись: Если у вас настроена частая запись логов или истории с датчиков (каждую секунду), это добивает память. По возможности отключите лишнее логирование до решения проблемы.
  3. Готовьтесь к ремонту или замене: В контроллерах Wiren Board чип eMMC распаян на плате. Самостоятельно заменить его без паяльной станции для BGA-чипов не получится. Вам нужно будет обратиться в сервисный центр Wiren Board для замены чипа памяти или замены процессорного модуля.

Для полноты картины вы можете проверить, не перешла ли память в режим «только чтение». Выполните команду:
cat /sys/class/mmc_host/mmc0/mmc0:*/pre_eol_info
Если вы хотите, пришлите результат команды pre_eol_info, и я скажу, заблокирована ли память уже сейчас. Также мы можем проверить текущие ошибки в системном логе dmesg, чтобы понять, начались ли сбои файловой системы.

Значение 0x01 — это отличная новость в вашей текущей ситуации. Это означает статус Normal (Нормальное состояние).
Согласно спецификации JEDEC для eMMC, этот параметр расшифровывается так:

  • 0x01 (Normal): Контроллер памяти считает, что у чипа еще есть резервные блоки (spare blocks), и он пока не собирается блокировать запись или переходить в режим «только чтение» (Read-Only).
  • 0x02 (Warning): Резервные блоки на исходе, израсходовано более 80% запаса.
  • 0x03 (Urgent): Резервных блоков практически не осталось, контроллер может заблокировать запись в любой момент.

Итог по вашей системе

Ваш Wiren Board находится в пограничном состоянии:

  1. По статистике износа (0x0b) — SLC-кэш уже выработал свой ресурс на 100-110%.
  2. По физическому здоровью (0x01) — чип пока справляется с нагрузкой, успешно заменяет сбойные ячейки памяти из резервного фонда, и файловая система работает полноценно (на запись и чтение).

Что это значит на практике?

Прямо в эту секунду контроллер не «умрет», у вас есть запас времени. Но поскольку ресурс ячеек исчерпан, лавинообразный отказ резервных блоков и переход pre_eol_info в состояние 0x02 или 0x03 может произойти неожиданно при любой крупной сессии записи (например, при обновлении пакетов через apt-get).
Пока статус 0x01, сделайте бэкап в спокойном режиме.
Если хотите, мы можем проверить, какие процессы сейчас активнее всего пишут на диск и изнашивают eMMC. Для этого мне нужно знать: установлена ли у вас утилита iotop или iotop-c?

Спойлер

root@wirenboard-AL6T47MH:~# dmesg | grep -E “mmcblk|blk_update_request|EXT4-fs”
[ 0.000000] Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait ro
[ 2.179039] Waiting for root device /dev/mmcblk0p2…
[ 2.194675] mmcblk0: mmc0:0001 Q2J54A 3.59 GiB
[ 2.199605] mmcblk0boot0: mmc0:0001 Q2J54A partition 1 16.0 MiB
[ 2.206033] mmcblk0boot1: mmc0:0001 Q2J54A partition 2 16.0 MiB
[ 2.212288] mmcblk0rpmb: mmc0:0001 Q2J54A partition 3 512 KiB, chardev (245:0)
[ 2.222860] mmcblk0: p1 p2 p3 p4 < p5 p6 >
[ 2.250953] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 4.550657] EXT4-fs (mmcblk0p2): re-mounted. Opts: errors=remount-ro
[ 10.167425] Adding 262140k swap on /dev/mmcblk0p5. Priority:-2 extents:1 across:262140k SS
[ 10.558178] EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Opts: (null)
[ 9541.274406] jbd2/mmcblk0p2-(81): WRITE block 534152 on mmcblk0p2 (8 sectors)
[ 9541.274463] jbd2/mmcblk0p2-(81): WRITE block 534160 on mmcblk0p2 (8 sectors)
[ 9541.274485] jbd2/mmcblk0p2-(81): WRITE block 534168 on mmcblk0p2 (8 sectors)
[ 9541.274500] jbd2/mmcblk0p2-(81): WRITE block 534176 on mmcblk0p2 (8 sectors)
[ 9541.274513] jbd2/mmcblk0p2-(81): WRITE block 534184 on mmcblk0p2 (8 sectors)
[ 9541.274526] jbd2/mmcblk0p2-(81): WRITE block 534192 on mmcblk0p2 (8 sectors)
[ 9541.274538] jbd2/mmcblk0p2-(81): WRITE block 534200 on mmcblk0p2 (8 sectors)
[ 9541.274551] jbd2/mmcblk0p2-(81): WRITE block 534208 on mmcblk0p2 (8 sectors)
[ 9541.274563] jbd2/mmcblk0p2-(81): WRITE block 534216 on mmcblk0p2 (8 sectors)
[ 9541.274577] jbd2/mmcblk0p2-(81): WRITE block 534224 on mmcblk0p2 (8 sectors)
[ 9541.274997] generate-system(6444): dirtied inode 4868 (sh-thd.aGZCTD) on mmcblk0p2
[ 9541.288076] jbd2/mmcblk0p2-(81): WRITE block 534232 on mmcblk0p2 (8 sectors)
[ 9541.288330] generate-system(6444): dirtied inode 4868 (sh-thd.aGZCTD) on mmcblk0p2
[ 9541.325586] generate-system(6538): dirtied inode 4868 (sh-thd.wQhPKc) on mmcblk0p2
[ 9541.325629] generate-system(6538): dirtied inode 4868 (sh-thd.wQhPKc) on mmcblk0p2
[ 9541.598481] generate-system(6444): dirtied inode 4868 (sh-thd.QfmzJu) on mmcblk0p2
[ 9541.598524] generate-system(6444): dirtied inode 4868 (sh-thd.QfmzJu) on mmcblk0p2
[ 9541.627477] generate-system(6587): dirtied inode 4868 (sh-thd.FkQm1n) on mmcblk0p2
[ 9541.627518] generate-system(6587): dirtied inode 4868 (sh-thd.FkQm1n) on mmcblk0p2
[ 9541.899868] generate-system(6444): dirtied inode 4868 (sh-thd.zCFr4y) on mmcblk0p2
[ 9541.899912] generate-system(6444): dirtied inode 4868 (sh-thd.zCFr4y) on mmcblk0p2
[ 9541.948201] generate-system(6636): dirtied inode 4868 (sh-thd.yZEHvE) on mmcblk0p2
[ 9541.948244] generate-system(6636): dirtied inode 4868 (sh-thd.yZEHvE) on mmcblk0p2
[ 9542.222868] generate-system(6444): dirtied inode 4868 (sh-thd.seal4W) on mmcblk0p2
[ 9542.222911] generate-system(6444): dirtied inode 4868 (sh-thd.seal4W) on mmcblk0p2
[ 9542.252602] generate-system(6685): dirtied inode 4868 (sh-thd.UYNlTm) on mmcblk0p2
[ 9542.252644] generate-system(6685): dirtied inode 4868 (sh-thd.UYNlTm) on mmcblk0p2
[ 9542.527890] generate-system(6444): dirtied inode 4868 (sh-thd.bdDm2J) on mmcblk0p2
[ 9542.527930] generate-system(6444): dirtied inode 4868 (sh-thd.bdDm2J) on mmcblk0p2
[ 9542.557504] generate-system(6734): dirtied inode 4868 (sh-thd.gaMa7y) on mmcblk0p2
[ 9542.557547] generate-system(6734): dirtied inode 4868 (sh-thd.gaMa7y) on mmcblk0p2
[ 9542.860260] generate-system(6444): dirtied inode 4868 (sh-thd.y4lVBT) on mmcblk0p2
[ 9542.860302] generate-system(6444): dirtied inode 4868 (sh-thd.y4lVBT) on mmcblk0p2
[ 9542.889143] generate-system(6783): dirtied inode 4868 (sh-thd.BZVhCU) on mmcblk0p2
[ 9542.889185] generate-system(6783): dirtied inode 4868 (sh-thd.BZVhCU) on mmcblk0p2
[ 9543.189680] generate-system(6444): dirtied inode 4868 (sh-thd.ql699e) on mmcblk0p2
[ 9543.189722] generate-system(6444): dirtied inode 4868 (sh-thd.ql699e) on mmcblk0p2
[ 9543.233618] generate-system(6834): dirtied inode 4868 (sh-thd.qd0A4G) on mmcblk0p2
[ 9543.233660] generate-system(6834): dirtied inode 4868 (sh-thd.qd0A4G) on mmcblk0p2
[ 9543.606223] generate-system(6444): dirtied inode 4868 (sh-thd.sXIss5) on mmcblk0p2
[ 9543.606266] generate-system(6444): dirtied inode 4868 (sh-thd.sXIss5) on mmcblk0p2
[ 9543.635659] generate-system(6883): dirtied inode 4868 (sh-thd.Nfho9X) on mmcblk0p2
[ 9543.635701] generate-system(6883): dirtied inode 4868 (sh-thd.Nfho9X) on mmcblk0p2
[ 9543.910200] generate-system(6444): dirtied inode 4868 (sh-thd.ZI8t48) on mmcblk0p2
[ 9543.910244] generate-system(6444): dirtied inode 4868 (sh-thd.ZI8t48) on mmcblk0p2
[ 9543.915600] jbd2/mmcblk0p6-(194): WRITE block 1050552 on mmcblk0p6 (8 sectors)
[ 9543.915657] jbd2/mmcblk0p6-(194): WRITE block 1050560 on mmcblk0p6 (8 sectors)
[ 9543.915680] jbd2/mmcblk0p6-(194): WRITE block 1050568 on mmcblk0p6 (8 sectors)
[ 9543.915695] jbd2/mmcblk0p6-(194): WRITE block 1050576 on mmcblk0p6 (8 sectors)
[ 9543.915708] jbd2/mmcblk0p6-(194): WRITE block 1050584 on mmcblk0p6 (8 sectors)
[ 9543.915721] jbd2/mmcblk0p6-(194): WRITE block 1050592 on mmcblk0p6 (8 sectors)
[ 9543.915735] jbd2/mmcblk0p6-(194): WRITE block 1050600 on mmcblk0p6 (8 sectors)
[ 9543.915747] jbd2/mmcblk0p6-(194): WRITE block 1050608 on mmcblk0p6 (8 sectors)
[ 9543.915761] jbd2/mmcblk0p6-(194): WRITE block 1050616 on mmcblk0p6 (8 sectors)
[ 9543.915776] jbd2/mmcblk0p6-(194): WRITE block 1050624 on mmcblk0p6 (8 sectors)
[ 9543.915788] jbd2/mmcblk0p6-(194): WRITE block 1050632 on mmcblk0p6 (8 sectors)
[ 9543.915802] jbd2/mmcblk0p6-(194): WRITE block 1050640 on mmcblk0p6 (8 sectors)
[ 9543.933458] jbd2/mmcblk0p6-(194): WRITE block 1050648 on mmcblk0p6 (8 sectors)
[ 9543.950905] generate-system(6932): dirtied inode 4868 (sh-thd.UM7mqe) on mmcblk0p2
[ 9543.950949] generate-system(6932): dirtied inode 4868 (sh-thd.UM7mqe) on mmcblk0p2
[ 9544.297370] generate-system(6444): dirtied inode 4868 (sh-thd.aZZUPF) on mmcblk0p2
[ 9544.297411] generate-system(6444): dirtied inode 4868 (sh-thd.aZZUPF) on mmcblk0p2
[ 9544.335292] generate-system(6983): dirtied inode 4868 (sh-thd.09UfRd) on mmcblk0p2
[ 9544.335333] generate-system(6983): dirtied inode 4868 (sh-thd.09UfRd) on mmcblk0p2
[ 9544.610738] generate-system(6444): dirtied inode 4868 (sh-thd.7P9how) on mmcblk0p2
[ 9544.610781] generate-system(6444): dirtied inode 4868 (sh-thd.7P9how) on mmcblk0p2
[ 9544.639900] generate-system(7032): dirtied inode 4868 (sh-thd.IbW4np) on mmcblk0p2
[ 9544.639941] generate-system(7032): dirtied inode 4868 (sh-thd.IbW4np) on mmcblk0p2
[ 9544.783265] generate-system(7050): dirtied inode 22388 (system.conf) on mmcblk0p2
[ 9544.783331] generate-system(7050): dirtied inode 22388 (system.conf) on mmcblk0p2
[ 9544.822630] jq(7050): WRITE block 1732864 on mmcblk0p2 (8 sectors)
[ 9544.890269] jq(7052): WRITE block 1732872 on mmcblk0p2 (32 sectors)
[ 9545.273965] kworker/u2:0(16865): WRITE block 2382944 on mmcblk0p6 (40 sectors)
[ 9545.274148] kworker/u2:0(16865): WRITE block 2382936 on mmcblk0p6 (8 sectors)
[ 9545.287825] rs:main Q:Reg(692): dirtied inode 134 (messages) on mmcblk0p6
[ 9545.287992] rs:main Q:Reg(692): dirtied inode 134 (messages) on mmcblk0p6
[ 9545.288063] rs:main Q:Reg(692): dirtied inode 134 (messages) on mmcblk0p6
[ 9546.345013] wb-rules(28379): WRITE block 393320 on mmcblk0p6 (16 sectors)
[ 9546.359553] wb-rules(28379): WRITE block 393288 on mmcblk0p6 (8 sectors)
[ 9547.043125] jbd2/mmcblk0p2-(81): WRITE block 534240 on mmcblk0p2 (8 sectors)
[ 9547.043181] jbd2/mmcblk0p2-(81): WRITE block 534248 on mmcblk0p2 (8 sectors)
[ 9547.043201] jbd2/mmcblk0p2-(81): WRITE block 534256 on mmcblk0p2 (8 sectors)
[ 9547.043215] jbd2/mmcblk0p2-(81): WRITE block 534264 on mmcblk0p2 (8 sectors)
[ 9547.043227] jbd2/mmcblk0p2-(81): WRITE block 534272 on mmcblk0p2 (8 sectors)
[ 9547.043241] jbd2/mmcblk0p2-(81): WRITE block 534280 on mmcblk0p2 (8 sectors)
[ 9547.043254] jbd2/mmcblk0p2-(81): WRITE block 534288 on mmcblk0p2 (8 sectors)
[ 9547.043268] jbd2/mmcblk0p2-(81): WRITE block 534296 on mmcblk0p2 (8 sectors)
[ 9547.043281] jbd2/mmcblk0p2-(81): WRITE block 534304 on mmcblk0p2 (8 sectors)
[ 9547.043294] jbd2/mmcblk0p2-(81): WRITE block 534312 on mmcblk0p2 (8 sectors)
[ 9547.052296] jbd2/mmcblk0p2-(81): WRITE block 534320 on mmcblk0p2 (8 sectors)
[ 9547.052494] generate-system(7068): dirtied inode 4868 (sh-thd.OnLnzn) on mmcblk0p2
[ 9547.052657] generate-system(7068): dirtied inode 4868 (sh-thd.OnLnzn) on mmcblk0p2
[ 9547.052732] generate-system(7068): dirtied inode 4868 (sh-thd.OnLnzn) on mmcblk0p2
[ 9547.118046] generate-system(7161): dirtied inode 4868 (sh-thd.75o3RE) on mmcblk0p2
[ 9547.118088] generate-system(7161): dirtied inode 4868 (sh-thd.75o3RE) on mmcblk0p2
[ 9547.549905] generate-system(7068): dirtied inode 4868 (sh-thd.0ygTm9) on mmcblk0p2
[ 9547.549945] generate-system(7068): dirtied inode 4868 (sh-thd.0ygTm9) on mmcblk0p2
[ 9547.594571] generate-system(7210): dirtied inode 4868 (sh-thd.8ajaj0) on mmcblk0p2
[ 9547.594612] generate-system(7210): dirtied inode 4868 (sh-thd.8ajaj0) on mmcblk0p2
[ 9547.881197] generate-system(7068): dirtied inode 4868 (sh-thd.bhrBUa) on mmcblk0p2
[ 9547.881236] generate-system(7068): dirtied inode 4868 (sh-thd.bhrBUa) on mmcblk0p2
[ 9547.909320] generate-system(7259): dirtied inode 4868 (sh-thd.R6xrse) on mmcblk0p2
[ 9547.909362] generate-system(7259): dirtied inode 4868 (sh-thd.R6xrse) on mmcblk0p2
[ 9548.184066] generate-system(7068): dirtied inode 4868 (sh-thd.SPgl1w) on mmcblk0p2
[ 9548.184109] generate-system(7068): dirtied inode 4868 (sh-thd.SPgl1w) on mmcblk0p2
[ 9548.241414] generate-system(7308): dirtied inode 4868 (sh-thd.jmp9oY) on mmcblk0p2
[ 9548.241461] generate-system(7308): dirtied inode 4868 (sh-thd.jmp9oY) on mmcblk0p2
[ 9548.774442] generate-system(7068): dirtied inode 4868 (sh-thd.jEO1hz) on mmcblk0p2
[ 9548.774485] generate-system(7068): dirtied inode 4868 (sh-thd.jEO1hz) on mmcblk0p2
[ 9548.803814] generate-system(7384): dirtied inode 4868 (sh-thd.UVTgXD) on mmcblk0p2
[ 9548.803856] generate-system(7384): dirtied inode 4868 (sh-thd.UVTgXD) on mmcblk0p2
[ 9549.103003] generate-system(7068): dirtied inode 4868 (sh-thd.noWT3Q) on mmcblk0p2
[ 9549.103095] generate-system(7068): dirtied inode 4868 (sh-thd.noWT3Q) on mmcblk0p2
[ 9549.114799] jbd2/mmcblk0p6-(194): WRITE block 1050656 on mmcblk0p6 (8 sectors)
[ 9549.114855] jbd2/mmcblk0p6-(194): WRITE block 1050664 on mmcblk0p6 (8 sectors)
[ 9549.114876] jbd2/mmcblk0p6-(194): WRITE block 1050672 on mmcblk0p6 (8 sectors)
[ 9549.114891] jbd2/mmcblk0p6-(194): WRITE block 1050680 on mmcblk0p6 (8 sectors)
[ 9549.114905] jbd2/mmcblk0p6-(194): WRITE block 1050688 on mmcblk0p6 (8 sectors)
[ 9549.114917] jbd2/mmcblk0p6-(194): WRITE block 1050696 on mmcblk0p6 (8 sectors)
[ 9549.114931] jbd2/mmcblk0p6-(194): WRITE block 1050704 on mmcblk0p6 (8 sectors)
[ 9549.114944] jbd2/mmcblk0p6-(194): WRITE block 1050712 on mmcblk0p6 (8 sectors)
[ 9549.131134] jbd2/mmcblk0p6-(194): WRITE block 1050720 on mmcblk0p6 (8 sectors)
[ 9549.139897] generate-system(7433): dirtied inode 4868 (sh-thd.I88Gtb) on mmcblk0p2
[ 9549.139939] generate-system(7433): dirtied inode 4868 (sh-thd.I88Gtb) on mmcblk0p2
[ 9549.418117] generate-system(7068): dirtied inode 4868 (sh-thd.dvh3Es) on mmcblk0p2
[ 9549.418159] generate-system(7068): dirtied inode 4868 (sh-thd.dvh3Es) on mmcblk0p2
[ 9549.446774] generate-system(7482): dirtied inode 4868 (sh-thd.hS6Xt7) on mmcblk0p2
[ 9549.446816] generate-system(7482): dirtied inode 4868 (sh-thd.hS6Xt7) on mmcblk0p2
[ 9549.749112] generate-system(7068): dirtied inode 4868 (sh-thd.Hk1O0r) on mmcblk0p2
[ 9549.749155] generate-system(7068): dirtied inode 4868 (sh-thd.Hk1O0r) on mmcblk0p2
[ 9549.777983] generate-system(7531): dirtied inode 4868 (sh-thd.UXijrt) on mmcblk0p2
[ 9549.778027] generate-system(7531): dirtied inode 4868 (sh-thd.UXijrt) on mmcblk0p2
[ 9550.126246] generate-system(7068): dirtied inode 4868 (sh-thd.SznxJI) on mmcblk0p2
[ 9550.126287] generate-system(7068): dirtied inode 4868 (sh-thd.SznxJI) on mmcblk0p2
[ 9550.155397] generate-system(7580): dirtied inode 4868 (sh-thd.rpmFC1) on mmcblk0p2
[ 9550.155441] generate-system(7580): dirtied inode 4868 (sh-thd.rpmFC1) on mmcblk0p2
[ 9550.313057] kworker/u2:0(16865): WRITE block 2382624 on mmcblk0p6 (8 sectors)
[ 9550.578442] generate-system(7068): dirtied inode 4868 (sh-thd.to3zaw) on mmcblk0p2
[ 9550.578485] generate-system(7068): dirtied inode 4868 (sh-thd.to3zaw) on mmcblk0p2
[ 9550.607334] generate-system(7635): dirtied inode 4868 (sh-thd.VJ1vMm) on mmcblk0p2
[ 9550.607378] generate-system(7635): dirtied inode 4868 (sh-thd.VJ1vMm) on mmcblk0p2

Спойлер

root@wirenboard-AL6T47MH:~# ps auxf | grep -B 2 -A 2 generate-system
root 9002 0.0 0.5 5000 2580 pts/0 Ss Jul08 0:00 | _ -bash
root 4168 0.0 0.5 7276 2544 pts/0 R+ 18:15 0:00 | _ ps auxf
root 4169 0.0 0.3 4152 1540 pts/0 S+ 18:15 0:00 | _ grep -B 2 -A 2 generate-system
root 9347 0.3 0.9 9952 4800 ? Ss Jul08 6:13 _ sshd: root@pts/1
root 9783 0.0 0.5 4976 2612 pts/1 Ss Jul08 0:00 _ -bash

root 27064 0.5 16.8 862804 85380 ? Ssl Jul08 8:48 /usr/bin/wb-mqtt-confed -syslog /usr/share/wb-mqtt-confed/schemas /var/lib/wb-mqtt-confed/schemas
root 5479 9.6 1.7 78836 9032 ? Ssl Jul08 146:14 /usr/bin/wb-mqtt-serial
root 3643 2.6 0.4 2520 2096 ? Rs 18:14 0:00 /bin/bash /usr/lib/wb-mqtt-gpio/generate-system-config.sh

Спойлер

root@wirenboard-AL6T47MH:~# ps auxf | grep -B 2 -A 2 generate-system
root 9002 0.0 0.5 5000 2580 pts/0 Ss Jul08 0:00 | _ -bash
root 4168 0.0 0.5 7276 2544 pts/0 R+ 18:15 0:00 | _ ps auxf
root 4169 0.0 0.3 4152 1540 pts/0 S+ 18:15 0:00 | _ grep -B 2 -A 2 generate-system
root 9347 0.3 0.9 9952 4800 ? Ss Jul08 6:13 _ sshd: root@pts/1
root 9783 0.0 0.5 4976 2612 pts/1 Ss Jul08 0:00 _ -bash

root 27064 0.5 16.8 862804 85380 ? Ssl Jul08 8:48 /usr/bin/wb-mqtt-confed -syslog /usr/share/wb-mqtt-confed/schemas /var/lib/wb-mqtt-confed/schemas
root 5479 9.6 1.7 78836 9032 ? Ssl Jul08 146:14 /usr/bin/wb-mqtt-serial
root 3643 2.6 0.4 2520 2096 ? Rs 18:14 0:00 /bin/bash /usr/lib/wb-mqtt-gpio/generate-system-config.sh

Спойлер

можно ли увеличить дискретность сброса инфы на диск или отключить, это бы решило сразу обе проблемы: и ресурса флешки и загрузки проца

Спойлер

Спойлер

Лучше отключить сервисы.

Просервисы тут
Про опрос - вот пример

export DEV_PORT=/dev/ttyRS485-2
export DEV_ADDR=42
for i in {0..1000}; do  modbus_client --debug -mrtu -pnone -s2 $DEV_PORT -a$DEV_ADDR -t0x03 -r128; done

sh-thd это не процесс, а временный файл вида /tmp/sh-thd-ХХХХ , который создаёт shell (bash типично).
И это как раз в (возможная) причина износа флешки.
Когда в скрипте```
cat << EOF
Что-то
EOF

ну или ```command <<< "что-то"```  баш данные пишет во временный файл `/tmp/sh-thd-XXXXX`, дает его команде как stdin и сразу удаляет. Отсюда в `iotop` /`inotify` мелькают постоянно создаваемые и удаляемые `sh-thd-*`.
Что интересно - в штатном ПО контроллера я подобного не помню. Нет ли каких-нибудь сторонних скриптов?

[quote="mity99, post:4, topic:39182"]
![изображение|690x316](upload://u50jwGsEVwPKJNQkMfI16LCVOWn.png)
[/quote]
А, да, понятно. Дважды указан в конфиге.
Интересно, сколько он так проработал...
ВОт [тут](https://support.wirenboard.com/t/ne-dobavlyaetsya-datchik/17223/64) как пример.
Вообще - рекомендую обновить контроллер до актуального ПО. Большинство описанных проблем давно устранено, в свежих версиях.
Да и флешка свежим ПО менее активно пишется. Однако, при массовой записи есть вероятность того что выйдет из строя.
Хотя... Глянул на контроллере того же срока эксплуатации: 

cat /sys/class/mmc_host/mmc0/mmc0:0001/life_time
0x0b 0x04

все хорошо.
Но именно обновление apt - врад ли удастся, скорее всего нужен будет сброс.

нынешняя версия debian 9.13.

Эпопея целая конечно, сетка только локальная на WB без инета, переключил wifi из точки доступа в клиента, настроил сеть, добавил архивные репы. Во всяком случае iotop и sysstat поставились без проблем, так что apt вполне себе работает.

Спойлер

root@wirenboard-AL6T47MH:/# cat /etc/apt/sources.list
deb http://archive.debian.org/debian/` stretch main contrib non-free deb http://archive.debian.org/debian-security/ stretch/updates main contrib non-free root@wirenboard-AL6T47MH:/# cat /etc/apt/sources.list.d/wirenboard.list deb http://deb.wirenboard.com/wb6/stretch stable main`

Не уверен что мы будем обновляться, не особо мы любим это дело. Речь о том, чтобы обновить дебиан или прошивку wb6?
Кстати такое ощущение, что проблемы появились после монтажа map12e. Мы его через годик-другой после wb6 приобрели и чтобы он заработал нам приходилось что-то обновлять (систему или прошивку не знаю).

На тему скриптов - исходной настройкой не я занимался. Есть в правилах скрипт:

Спойлер
var date = Date.now();
var counter1old = 0;
var counter2old = 0;

defineVirtualDevice("water_meters", { // Создаем виртуальный девайс для отображения в веб интерфейсе.
    title: "Счетчики воды",
    cells: {
        water_meter_1: {
            type: "value",
            value: 0
        },
        water_meter_2: {
            type: "value",
            value: 0
        },

    }
});

defineRule("water_flow1", {
    when: cron("@every 1m"),
    then: function() {
       var counter1now = dev["wb-mcm8_13"]["Input 2 counter"];
       var flow1Lm = ((counter1now - counter1old)* 10);
       if (flow1Lm < 1000 && flow1Lm >= 0) {
       		dev["water_meters"]["water_meter_1"] = flow1Lm;
       }
       counter1old = counter1now;
    }
});

defineRule("water_flow2", {
    when: cron("@every 1m"),
    then: function() {
       var counter2now = dev["wb-mcm8_13"]["Input 4 counter"];
       var flow2Lm = ((counter2now - counter2old)* 10);
       if (flow2Lm < 1000 && flow2Lm >= 0) {
       		dev["water_meters"]["water_meter_2"] = flow2Lm;
       }
       counter2old = counter2now;
    }
});

Может мне диагностический архив или весь конфиг как-то в обезличенном виде можно скинуть? (если кому интересно конечно)

Гугловый ИИ вроде как докапался что дело в gpio и что там какой то конфликт с А1, на который заведен счетчик воды. По скольку сейчас счетчик воды нам не актуален, я просто тормознул службу wb-mqtt-gpio и контроллер вроде отпустило. Хоть LA и 2-3 остался, но хотя бы появился ~50% id (время простоя проца) и дисковая активность судя по iotop вроде тоже схлынула. Пока непонятно, куда дальше и не оставить ли все так…

Дальше будет куча картинок с размышлениями ИИ. В их правильной последовательности не уверен

Спойлер

Спойлер

Спойлер

Спойлер

Спойлер

Спойлер

Спойлер

Спойлер

Спойлер

Спойлер

Спойлер

Спойлер

Посмотрел на своих контроллерах - так же.
Накопитель в зоне риска, но не в аварийном состоянии . Одна из областей памяти (Type A) формально выработала ресурс, при этом резерв блоков ещё цел (pre-eol 01)
контроллер eMMC ещё не начал расходовать резерв замещающих блоков сверх порога предупреждения (warning был бы 02 , urgent 03` )

Спасибо.
Да, на сколько я понял, кэш накопителя выработал заявленный ресурс, но при этом продолжает работать, а сам накопитель еще вполне себе ничего.

Можете пожалуйста проинструктировать меня по полному обновлению системы? (насколько я понял, это прошивка контроллера и обновление самой системы?) По переносу конфигу (или ручная повторная настройка лучше?) и чего еще мне нужно знать… Возникнет ли необходимость обновления прошивки map12e и тп.

Пока только снял полный 3.6G образ накопителя по сети через dd, предварительно остановив все службы

В данном случае проще сделать сброс. Так как без расширения корневого раздела бедет неудобно.

Бэкап в любом случае сделать надо. А там уже - что проще. Конфиги скопировать-то всегда можно, это быстро и просто.
С совсем древнего ПО, "дорелизнного) я не пробовал…

Не думаю. И шаблоны под старые версии есть в новых релизах.

Лишним не будет, но я предпочитаю так
Имея список изменений (пример) - по нему просто пройтись и проверить - все ли копируется.

спасибо, надеюсь доберусь до обновления. На сколько я понял бывают затыки с обновлением при таком разрыве в версиях.

Спойлер

Спойлер

Но это уже если случится тогда по факту напишу