Skip to content

Instantly share code, notes, and snippets.

@pinge
Last active December 24, 2015 06:29
Show Gist options
  • Select an option

  • Save pinge/6757591 to your computer and use it in GitHub Desktop.

Select an option

Save pinge/6757591 to your computer and use it in GitHub Desktop.
Supermicro X9SCM-Fii

There is a Solaris “bug” (if you can call it that) that limits ARC cache to 7/8 of total system memory. This was intentional so that the ARC cache couldn’t cause contention for swapfile space in RAM. That “bug” still exists in Nexenta 3.1.2. This is why I have 30GB of RAM free on a 192GB system. 1/8 system memory made sense when monster systems were 8GB. That left 1GB of RAM that wouldn’t be touched for ARC caching to ensure proper system operation. Today the amount of RAM in systems dwarfs what most people would have used 10 years ago, and as such we need to make modifications. Fortunately, we can tune this variable.

http://www.zfsbuild.com/2012/04/18/let-zfs-use-all-of-your-ram/

# /etc/security/limits.conf
* soft nofile 4096
* hard nofile 32768
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
loop
# lm-sensors and fancontrol
coretemp
w83627ehf
ipmi-si
# sudo apt-get install lm-sensors
// run sensors-detect and follow the instructions
# sensors-detect
// add any required modules to /etc/modules (see below the ```modules``` file)
# vim /etc/modules
// verify that lm-sensors is working
# sensors
acpitz-virtual-0
Adapter: Virtual device
temp1: +27.8°C (crit = +106.0°C)
temp2: +29.8°C (crit = +106.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +38.0°C (high = +85.0°C, crit = +105.0°C)
Core 0: +32.0°C (high = +85.0°C, crit = +105.0°C)
Core 1: +39.0°C (high = +85.0°C, crit = +105.0°C)
nct6776-isa-0a30
Adapter: ISA adapter
Vcore: +0.77 V (min = +0.60 V, max = +1.49 V)
in1: +1.86 V (min = +1.62 V, max = +1.99 V)
AVCC: +3.36 V (min = +2.96 V, max = +3.63 V)
+3.3V: +3.36 V (min = +2.96 V, max = +3.63 V)
in4: +1.51 V (min = +1.35 V, max = +1.65 V)
in5: +1.26 V (min = +1.13 V, max = +1.38 V)
3VSB: +3.33 V (min = +2.96 V, max = +3.63 V)
Vbat: +3.06 V (min = +2.96 V, max = +3.63 V)
fan1: 0 RPM (min = 300 RPM) ALARM
fan2: 2163 RPM (min = 300 RPM)
fan3: 0 RPM (min = 300 RPM) ALARM
fan4: 0 RPM (min = 300 RPM) ALARM
fan5: 0 RPM (min = 300 RPM) ALARM
SYSTIN: +36.0°C (high = +75.0°C, hyst = +70.0°C) sensor = thermistor
CPUTIN: +33.5°C (high = +95.0°C, hyst = +92.0°C) sensor = thermistor
AUXTIN: +3.0°C sensor = thermistor
PECI Agent 0: +0.0°C
CPUTIN: +33.5°C (high = +80.0°C, hyst = +75.0°C)
cpu0_vid: +2.050 V
intrusion0: ALARM
intrusion1: ALARM
// reboot in order to make sure that the specified modules are loaded on boot
// install fancontrol package
# apt-get install fancontrol
// configure fancontrol
# pwmconfig
// ...
Giving the fans some time to reach full speed...
Found the following fan sensors:
hwmon2/device/fan1_input current speed: 0 ... skipping!
hwmon2/device/fan2_input current speed: 2149 RPM
hwmon2/device/fan3_input current speed: 0 ... skipping!
hwmon2/device/fan4_input current speed: 0 ... skipping!
hwmon2/device/fan5_input current speed: 0 ... skipping!
// ...
Testing pwm control hwmon2/device/pwm2 ...
hwmon2/device/fan2_input ... speed was 2149 now 1068
It appears that fan hwmon2/device/fan2_input
is controlled by pwm hwmon2/device/pwm2
Would you like to generate a detailed correlation (y)? y
PWM 255 FAN 2170
PWM 240 FAN 2039
PWM 225 FAN 1956
PWM 210 FAN 1912
PWM 195 FAN 1826
PWM 180 FAN 1717
PWM 165 FAN 1636
PWM 150 FAN 1555
PWM 135 FAN 1511
PWM 120 FAN 1443
PWM 105 FAN 1344
PWM 90 FAN 1262
PWM 75 FAN 1187
PWM 60 FAN 1132
PWM 45 FAN 1068
PWM 30 FAN 1065
PWM 28 FAN 1064
PWM 26 FAN 1064
PWM 24 FAN 1065
PWM 22 FAN 1064
PWM 20 FAN 1064
PWM 18 FAN 1065
PWM 16 FAN 1064
PWM 14 FAN 1066
PWM 12 FAN 1065
PWM 10 FAN 1066
PWM 8 FAN 1068
PWM 6 FAN 1066
PWM 4 FAN 1067
PWM 2 FAN 1065
PWM 0 FAN 1066
// ...
Devices:
hwmon0 is acpitz
hwmon1/device is coretemp
hwmon2/device is nct6776
Current temperature readings are as follows:
hwmon0/temp1_input 27
hwmon0/temp2_input 29
hwmon1/device/temp1_input 41 <-- matches "coretemp-isa-0000 Adapter: ISA adapter Physical id 0: +41.0°C"
hwmon1/device/temp2_input 38
hwmon1/device/temp3_input 42
hwmon2/device/temp1_input 36
hwmon2/device/temp2_input 33
hwmon2/device/temp3_input 3
hwmon2/device/temp4_input 0
hwmon2/device/temp6_input 33
Select a temperature sensor as source for hwmon2/device/pwm2:
1) hwmon0/temp1_input
2) hwmon0/temp2_input
3) hwmon1/device/temp1_input
4) hwmon1/device/temp2_input
5) hwmon1/device/temp3_input
6) hwmon2/device/temp1_input
7) hwmon2/device/temp2_input
8) hwmon2/device/temp3_input
9) hwmon2/device/temp4_input
10) hwmon2/device/temp6_input
11) None (Do not affect this PWM output)
select (1-n): 3
Enter the low temperature (degree C)
below which the fan should spin at minimum speed (20): 45
Enter the high temperature (degree C)
over which the fan should spin at maximum speed (60): 60
Enter the PWM value (0-255) to use when the temperature
is over the high temperature limit (255): 255
// start the fancontrol daemon
# /etc/init.d/fancontrol start
# apt-get install libcups2 samba samba-common
// confirm that the maximum number of files is big enough
# cat /proc/sys/fs/file-max
815689
// edit /etc/security/limits.conf to increase the number of maximum open files
# vim /etc/security/limits.conf
# /etc/modprobe.d/zfs.conf
# memory ARC with 4GB
options zfs zfs_arc_max=4294967296
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment