detail.sh 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/bin/bash
  2. clear
  3. if [ "${EUID}" -ne 0 ]; then
  4. echo "You need to run this script as root" && exit 1
  5. fi
  6. sysinfo() {
  7. # Removing existing bench.log
  8. rm -rf $HOME/bench.log
  9. # Reading out system information...
  10. # Reading CPU model
  11. cname=$( awk -F: '/model name/ {name=$2} END {print name}' /proc/cpuinfo | sed 's/^[ \t]*//;s/[ \t]*$//' )
  12. # Reading amount of CPU cores
  13. cores=$( awk -F: '/model name/ {core++} END {print core}' /proc/cpuinfo )
  14. # Reading CPU frequency in MHz
  15. freq=$( awk -F: ' /cpu MHz/ {freq=$2} END {print freq}' /proc/cpuinfo | sed 's/^[ \t]*//;s/[ \t]*$//' )
  16. # Reading total memory in MB
  17. tram=$( free -m | awk 'NR==2 {print $2}' )
  18. # Reading Swap in MB
  19. vram=$( free -m | awk 'NR==4 {print $2}' )
  20. # Reading system uptime
  21. up=$( uptime | awk '{ $1=$2=$(NF-6)=$(NF-5)=$(NF-4)=$(NF-3)=$(NF-2)=$(NF-1)=$NF=""; print }' | sed 's/^[ \t]*//;s/[ \t]*$//' )
  22. # Reading operating system and version (simple, didn't filter the strings at the end...)
  23. opsy=$( cat /etc/issue.net | awk 'NR==1 {print}' ) # Operating System & Version
  24. arch=$( uname -m ) # Architecture
  25. lbit=$( getconf LONG_BIT ) # Architecture in Bit
  26. hn=$( hostname ) # Hostname
  27. kern=$( uname -r )
  28. # Date of benchmark
  29. bdates=$( date )
  30. echo "Benchmark started on $bdates" | tee -a $HOME/bench.log
  31. echo "Full benchmark log: $HOME/bench.log" | tee -a $HOME/bench.log
  32. echo "" | tee -a $HOME/bench.log
  33. # Output of results
  34. echo "System Info" | tee -a $HOME/bench.log
  35. echo "-----------" | tee -a $HOME/bench.log
  36. echo "Processor : $cname" | tee -a $HOME/bench.log
  37. echo "CPU Cores : $cores" | tee -a $HOME/bench.log
  38. echo "Frequency : $freq MHz" | tee -a $HOME/bench.log
  39. echo "Memory : $tram MB" | tee -a $HOME/bench.log
  40. echo "Swap : $vram MB" | tee -a $HOME/bench.log
  41. echo "Uptime : $up" | tee -a $HOME/bench.log
  42. echo "" | tee -a $HOME/bench.log
  43. echo "OS : $opsy" | tee -a $HOME/bench.log
  44. echo "Arch : $arch ($lbit Bit)" | tee -a $HOME/bench.log
  45. echo "Kernel : $kern" | tee -a $HOME/bench.log
  46. echo "Hostname : $hn" | tee -a $HOME/bench.log
  47. echo "" | tee -a $HOME/bench.log
  48. }
  49. sysinfo