@@ -17,6 +17,9 @@ _POOL_SERVER_PORT="3333"
1717
1818#####################################################################
1919
20+# Load functions
21+. functions.sh
22+
2023# Set working directory
2124_WORK_DIR="$(pwd)"
2225cd $_WORK_DIR
@@ -70,63 +73,11 @@ echo -e "Cron on days: $_USER_CRONDAYS\n"
7073_XMRIG_SCREEN="xmrig-cpu"
7174echo -e "Screen session name: $_XMRIG_SCREEN\n"
7275
73−# Check if CPU supports AES-NI
74−cpuid | grep -i aes > hw-aes.txt
75−if grep -q true "hw-aes.txt"; then
76− _AES_NI=true
77−else
78− _AES_NI=false
79−fi
80−rm hw-aes.txt
81−
82−# Get number of available CPU Cores
83−_ENV_CORE=$(nproc --all)
84−echo -e "CPU Cores: $_ENV_CORE\n"
85−
86−# Get CPU L3 cache value
87−_ENV_CORE_L3=$(getconf LEVEL3_CACHE_SIZE)
88−echo -e "L3 Cache in byte: $_ENV_CORE_L3\n"
89−
90−# Determine number of threads possible
91−_ENV_CORE_L3_MB="$(($_ENV_CORE_L3 / 1000000))"
92−echo -e "L3 cache in Megabyte: $_ENV_CORE_L3_MB\n"
93−
94−# Determine number of threads possible
95−_ENV_CORE_THREADS="$(($_ENV_CORE_L3_MB / 2))"
96−echo "Each thread requires 2 MB of cache"
97−echo -e "Number of threads possible is: $_ENV_CORE_THREADS\n"
98−
99−# Affine number of threads for _CPU_CN
100−_COUNTER="$(($_ENV_CORE_THREADS - 1))"
101−_ENV_CPU_THREADS=()
102−
103−for i in `seq 0 $_COUNTER`; do
104− _ENV_CPU_THREADS+=("$i")
105−done
106−
107−echo "Thread CPU Affinity: ${_ENV_CPU_THREADS[@]}"
108−
109−_ENV_CPU_THREAD_AFFINITY="${_ENV_CPU_THREADS[@]}"
110−
111−
112−# Setting according to cpu cores but xmrig will not use all
113−# change to make value use _ENV_CORE_THREADS
114−# Check that hugepages set in /etc/sysctl.conf
115−_ENV_CHECK="nr_hugepages"
116−
117−if sudo grep -q $_ENV_CHECK /etc/sysctl.conf; then
118− echo "Found nr_hugepages in /etc/sysctl.conf. All good!!"
119− echo -e "Refreshing sysctl configuration just to be sure.\n"
120− sudo sysctl -p
121−else
122− # Set value in current env
123− echo -e "Did not find nr_hugepages in /etc/sysctl.conf. Fixing that!!\n"
124− sudo sysctl -w vm.nr_hugepages="$_ENV_CORE"
125− sudo sysctl -p
126−
127− # Add value to sysctl
128− echo "vm.nr_hugepages=$_ENV_CORE" | sudo tee -a /etc/sysctl.conf
129−fi
76+# call check_cpu
77+check_cpu
78+
79+# call calc_threads
80+calc_threads
13081
13182# Run apt maintenance
13283# 1 = yes 0 = no