The following commands can be used to check for idle-ness:
Not idle:
[root@freenas] /mnt/ztemp/bin# camcontrol cmd ada0 -a "E5 00 00 00 00 00 00 00 00 00 00 00" -r -
50 00 00 00 00 40 00 00 00 FF 00
Idle:
[root@freenas] /mnt/ztemp/bin# camcontrol cmd ada0 -a "E5 00 00 00 00 00 00 00 00 00 00 00" -r -
50 00 00 00 00 40 00 00 00 00 00
When checking my CPU it showed that FreeNAS was not utilizing the best idle mode:
[root@freenas] /mnt/ztemp/bin# sysctl dev.cpu
dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.CPU0
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.0.coretemp.delta: 71
dev.cpu.0.coretemp.resolution: 1
dev.cpu.0.coretemp.tjmax: 100.0C
dev.cpu.0.coretemp.throttle_log: 0
dev.cpu.0.temperature: 28.0C
dev.cpu.0.freq: 500
dev.cpu.0.freq_levels: 2700/53000 ... etc...
dev.cpu.0.cx_supported: C1/1/1 C2/2/117
dev.cpu.0.cx_lowest: C1
dev.cpu.0.cx_usage: 100.00% 0.00% last 458us
dev.cpu.1.%desc: ACPI CPU
dev.cpu.1.%driver: cpu
dev.cpu.1.%location: handle=\_PR_.CPU1
dev.cpu.1.%pnpinfo: _HID=none _UID=0
dev.cpu.1.%parent: acpi0
dev.cpu.1.coretemp.delta: 71
dev.cpu.1.coretemp.resolution: 1
dev.cpu.1.coretemp.tjmax: 100.0C
dev.cpu.1.coretemp.throttle_log: 0
dev.cpu.1.temperature: 29.0C
dev.cpu.1.cx_supported: C1/1/1 C2/2/117
dev.cpu.1.cx_lowest: C1
dev.cpu.1.cx_usage: 100.00% 0.00% last 168us
As I discovered yesterday setting both CPUs to C2 did not help, so only one will be set to C2. This can be done using the following command:
[root@freenas] /mnt/ztemp/bin# sysctl dev.cpu.1.cx_lowest=C2
dev.cpu.1.cx_lowest: C1 -> C2