xmrig-bash-scripts/functions.sh

82 lines
1.7 KiB
Bash
Raw Normal View History

2019-08-10 18:27:01 +03:00
#!/bin/bash
2019-08-05 22:49:49 +03:00
2019-07-27 13:00:13 +03:00
build_xmrig () {
if [ -d $_XMRIG_BUILD_LOCATION ]; then
# Remove existing build directory
rm -rf $_XMRIG_BUILD_LOCATION
# Make new build directory
mkdir $_XMRIG_BUILD_LOCATION
else
# Make new build directory
mkdir $_XMRIG_BUILD_LOCATION
fi
# Change to build directory
cd $_XMRIG_BUILD_LOCATION
# Configure cmake scafolding
cmake .. -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
# Compile the software
make
}
start_xmrig () {
screen -dmS $_XMRIG_SCREEN xmrig --config=$_XMRIG_CONFIG_LOCATION
}
stop_xmrig () {
screen -S $_XMRIG_SCREEN -X kill
}
2019-08-10 10:36:48 +03:00
check_cpu () {
# Check if CPU supports AES-NI
cpuid | grep -i aes > hw-aes.txt
if grep -q true "hw-aes.txt"; then
_AES_NI=true
else
_AES_NI=false
fi
rm hw-aes.txt
# Get number of available CPU Cores
_ENV_CORE=$(nproc --all)
# Get CPU L3 cache value
_ENV_CORE_L3=$(getconf LEVEL3_CACHE_SIZE)
}
calc_threads () {
# Affine number of threads for _CPU_CN
_COUNTER="$(($_ENV_CORE_THREADS - 1))"
_ENV_CPU_THREADS=()
for i in `seq 0 $_COUNTER`; do
_ENV_CPU_THREADS+=("$i")
done
2019-08-10 18:27:01 +03:00
_ENV_CPU_THREAD_AFFINITY="$_ENV_CPU_THREADS"
2019-08-10 10:36:48 +03:00
# Setting according to cpu cores but xmrig will not use all
# change to make value use _ENV_CORE_THREADS
# Check that hugepages set in /etc/sysctl.conf
2019-08-10 18:27:01 +03:00
2019-08-10 10:36:48 +03:00
_ENV_CHECK="nr_hugepages"
if sudo grep -q $_ENV_CHECK /etc/sysctl.conf; then
2019-08-10 18:27:01 +03:00
sudo sysctl -p
2019-08-10 10:36:48 +03:00
else
2019-08-10 18:27:01 +03:00
# Set value in current env
sudo sysctl -w vm.nr_hugepages="$_ENV_CORE"
# Add value to sysctl
2019-08-10 10:36:48 +03:00
sudo sysctl -p
fi
}
2019-08-10 18:27:01 +03:00
echo -e "FUNCTIONS LOADED\n\n"