Skip to content

Latest commit

 

History

History
92 lines (72 loc) · 3.04 KB

ENVIRONMENT.md

File metadata and controls

92 lines (72 loc) · 3.04 KB

Environment

This file just contains some intel about the environment in use and what has been done to get it into that state.

Machine Type

  • Hetzner AX161, Dedicated Hosted Hardware
  • CPU: AMD EPYC 7502P 32 cores / 64 threads @ 2.5 GHz
  • Memory: 128 GB ECC DDR4 RAM
  • 2x SAMSUNG MZQL2960HCJR-00A07, 1 TB, Software RAID-1
  • CentOS 9, Linux 5.14.0-378.el9.x86_64

Configuration

  • SMT off
  • Turbo Boost Off
  • Filesystem EXT4

Details

CPU

$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 49
model name	: AMD EPYC 7502P 32-Core Processor
stepping	: 0
microcode	: 0x8301055
cpu MHz		: 2500.000
cache size	: 512 KB
physical id	: 0
siblings	: 32
core id		: 0
cpu cores	: 32
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 16
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es
bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb
bogomips	: 4990.70
TLB size	: 3072 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 43 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
... more for all other cores

Setup

Turn SMT off

Disable during boot via boot-param, able to switch it on later again, if needed.

Add nosmt to grub boot config in /etc/default/grub

# Added nosmt to command line
GRUB_CMDLINE_LINUX="biosdevname=0 crashkernel=auto rd.auto=1 consoleblank=0 nosmt"

Update boot config:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Turbo Off

Using the legacy /etc/rc.local concept to change things during boot:

# Turn SMT off via software as well, already got nosmt in grub
echo off >  /sys/devices/system/cpu/smt/control

# Turn off turbo boost
echo 0 |tee /sys/devices/system/cpu/cpufreq/boost

Reduce Swapping

Reduce from default 60 to 10% memory pressure by adding vm.swappiness = 10 to /etc/sysctl.conf.

Verify

Check after boot if all settings have been applied. Can also be used to control these during runtime.

  • SMT off: cat /sys/devices/system/cpu/smt/active must be 0
  • SWAP: cat /proc/sys/vm/swappiness must be 10
  • Turbo off: cat /sys/devices/system/cpu/cpufreq/boost must be 0