All pastes #156431 Raw Edit

vpenis.sh

public text v1 · immutable
#156431 ·published 2006-08-31 19:15 UTC
rendered paste body
#!/bin/sh
#
# slightly modified virtual penis script
# compatible with the original vpenis.sh
# freebsd support
# darwin support

os=$(uname -s)

uptime=$(uptime | sed 's/.*up[: ]*\([0-9]*\)[ ]*d.*/\1/')

case $os in
	Darwin)
		cpu=$(echo `sysctl -n hw.cpufrequency`"/10^6*"`sysctl -n hw.ncpu`)
		mem=$(echo `vm_stat | awk '/Pages active/ {print $3"*"}'; sysctl -n hw.pagesize`"/(1024^2)")
		disk=$(df -k -t nonfs | awk '{if ($1 ~ "/dev/disk"){s+= $2} s+=$2} END {print s}')
		;;
	FreeBSD)
		cpu=$(echo `sysctl -n machdep.tsc_freq`"/10^6*"`sysctl -n hw.ncpu`)
		mem=$(echo `vmstat -s | awk '/pages active/ {print $1"*"}'; sysctl -n hw.pagesize`"/(1024^2)")
		disk=$(df -k -t nonfs | awk '{if ($1 ~ "/dev/wd"){s+= $2} s+=$2} END {print s}')
		;;
	Linux)
		cpu=$(cat /proc/cpuinfo | awk '/MHz/ {print $4}') # does not consider multiple CPUs?
		mem=$(free | awk '/^Mem/ {print $3"/1024"}')
		disk=$(df -k -x nfs | awk '{if ($1 ~ "/dev/(scsi|sd)"){s+= $2} s+= $2} END {print s}')
		;;
	OpenBSD)
		cpu=$(echo `sysctl -n hw.cpuspeed`"*"`sysctl -n hw.ncpu`)
		mem=$(vmstat | tail -1 | awk '{print $4"/1024"}')
		disk=$(df -P -k -t nonfs | awk '!/1k/ {if ($1 ~ "/dev/(scsi|sd)"){s+= $2} s+= $2} END {print s}')
		;;
esac

echo "($uptime/10)+($cpu/30)+($mem/3)+($disk/(1024*750))+70" | bc | sed 's/\(.$\)/.\1cm/'