├── Fuck_OCPU.sh ├── cpu_usage.sh ├── memory_usage.sh ├── OneKeyFuck_OCPU.sh ├── OneKey_FuckMemory.sh └── README.md /Fuck_OCPU.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | 4 | 5 | utilization=14 6 | 7 | 8 | endless_loop() 9 | { 10 | echo -ne "i=0; 11 | while true 12 | do 13 | i=i+100; 14 | i=100 15 | done" | /bin/bash & 16 | } 17 | 18 | if [ $# != 1 ] ; then 19 | echo "USAGE: $0 " 20 | exit 1; 21 | fi 22 | for i in `seq $1` 23 | do 24 | endless_loop 25 | pid_array[$i]=$! ; 26 | done 27 | 28 | for i in "${pid_array[@]}"; do 29 | echo 'stopUsage: kill ' $i ';' 30 | nohup cpulimit -p "$i" -l "$utilization" & 31 | done 32 | -------------------------------------------------------------------------------- /cpu_usage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Destription: test cpu usage 3 | # Example : sh cpu_usage.sh consume 8 | sh cpu_usage.sh release 4 | 5 | FILE_NAME=`basename $0` 6 | cpunum=$2 7 | pid_array=() 8 | function usage() 9 | { 10 | echo "Usage:$FILE_NAME consume cpu_number|release -----the value of cpu_number is an integer,such as 1,2,3" 11 | echo "Example: $FILE_NAME consume 12" 12 | echo " $FILE_NAME release" 13 | } 14 | 15 | function endless_loop() 16 | { 17 | echo -ne "i=0; 18 | while true 19 | do 20 | i=i+100; 21 | i=100 22 | done" | /bin/bash & 23 | } 24 | 25 | 26 | function consume() 27 | { 28 | for i in `seq $1` 29 | do 30 | endless_loop 31 | pid_array[$i]=$! 32 | done 33 | echo "consume cpu resources process ids are: ${pid_array[*]}" 34 | } 35 | 36 | function release() 37 | { 38 | for pid in $(ps -ef |grep /bin/bash |grep -v grep |awk '{print $2}' |xargs) 39 | do 40 | kill -9 $pid 41 | done 42 | } 43 | 44 | function main() 45 | { 46 | case "$1" in 47 | consume) consume $cpunum;; 48 | release) release;; 49 | *) usage;exit 1;; 50 | esac 51 | } 52 | 53 | main $* 54 | -------------------------------------------------------------------------------- /memory_usage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | FILE_NAME=`basename $0` 5 | memsize=$2 6 | function usage() 7 | { 8 | echo "Usage:$FILE_NAME consume memory_size|release -----the value of memory_size like 100M 2G and etc" 9 | echo "Example: $FILE_NAME consume 1G" 10 | echo " $FILE_NAME release" 11 | } 12 | function consume() 13 | { 14 | if [ -d /tmp/memory ];then 15 | echo "/tmp/memory already exists" 16 | else 17 | mkdir /tmp/memory 18 | fi 19 | mount -t tmpfs -o size=$1 tmpfs /tmp/memory 20 | dd if=/dev/zero of=/tmp/memory/block 21 | 22 | } 23 | 24 | function release() 25 | { 26 | rm /tmp/memory/block;ret=$? 27 | if [ $ret != 0 ]; then 28 | echo "remove memory data failed" 29 | return $ret 30 | fi 31 | 32 | umount /tmp/memory;ret=$? 33 | if [ $ret != 0 ]; then 34 | echo "umount memory filedir failed" 35 | return $ret 36 | fi 37 | 38 | rmdir /tmp/memory;ret=$? 39 | if [ $ret != 0 ]; then 40 | echo "remove memory filedir failed" 41 | return $ret 42 | fi 43 | 44 | } 45 | 46 | function main() 47 | { 48 | case "$1" in 49 | consume) consume $memsize;; 50 | release) release;; 51 | *) usage;exit 1;; 52 | esac 53 | } 54 | 55 | main $* 56 | -------------------------------------------------------------------------------- /OneKeyFuck_OCPU.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | red='\033[0;31m' 4 | green='\033[0;32m' 5 | yellow='\033[0;33m' 6 | plain='\033[0m' 7 | 8 | cur_dir=$(pwd) 9 | 10 | check() { 11 | # check root 12 | [[ $EUID -ne 0 ]] && echo -e "${red}错误:${plain} 必须使用root用户运行此脚本!\n" && exit 1 13 | 14 | # check os 15 | if [[ -f /etc/redhat-release ]]; then 16 | release="centos" 17 | elif cat /etc/issue | grep -Eqi "debian"; then 18 | release="debian" 19 | elif cat /etc/issue | grep -Eqi "ubuntu"; then 20 | release="ubuntu" 21 | elif cat /etc/issue | grep -Eqi "centos|red hat|redhat"; then 22 | release="centos" 23 | elif cat /proc/version | grep -Eqi "debian"; then 24 | release="debian" 25 | elif cat /proc/version | grep -Eqi "ubuntu"; then 26 | release="ubuntu" 27 | elif cat /proc/version | grep -Eqi "centos|red hat|redhat"; then 28 | release="centos" 29 | else 30 | echo -e "${red}未检测到系统版本,请联系脚本作者!${plain}\n" && exit 1 31 | fi 32 | } 33 | 34 | #main 35 | 36 | Fuck_OCPU() { 37 | Cores=$(cat /proc/cpuinfo| grep "processor"| wc -l ) 38 | 39 | echo -e "${green} ${Cores}Cores${plain} " 40 | echo -e "${green}==========================${plain} " 41 | 42 | echo "等待5S" 43 | sleep 5 44 | if [ -f /root/Fuck_OCPU.sh ]; then 45 | echo "file found...开始执行 吃掉CPU" 46 | bash Fuck_OCPU.sh ${Cores} 47 | else 48 | 49 | echo "no such file!-开始下载" 50 | cd /root && wget -qO Fuck_OCPU.sh https://raw.githubusercontent.com/Mrmineduce21/Oracle_OneKey_Active/main/Fuck_OCPU.sh && chmod +X Fuck_OCPU.sh && bash Fuck_OCPU.sh ${Cores} 51 | 52 | fi 53 | 54 | 55 | 56 | } 57 | 58 | 59 | install_base() { 60 | echo -e "${yellow}install_base_系统为${release}${plain} " 61 | 62 | if [[ x"${release}" == x"centos" ]]; then 63 | yum install epel-release -y 64 | sudo yum update 65 | yum install cpulimit wget socat -y 66 | else 67 | sudo apt-get update 68 | sudo apt-get install cpulimit wget socat -y 69 | fi 70 | } 71 | 72 | 73 | echo -e "${green}开始运行${plain}" 74 | check 75 | 76 | install_base 77 | echo -e "${green}依赖安装完成${plain}" 78 | Fuck_OCPU 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /OneKey_FuckMemory.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | red='\033[0;31m' 4 | green='\033[0;32m' 5 | yellow='\033[0;33m' 6 | plain='\033[0m' 7 | 8 | cur_dir=$(pwd) 9 | 10 | 11 | check() { 12 | # check root 13 | [[ $EUID -ne 0 ]] && echo -e "${red}错误:${plain} 必须使用root用户运行此脚本!\n" && exit 1 14 | # check os 15 | if [[ -f /etc/redhat-release ]]; then 16 | release="centos" 17 | elif cat /etc/issue | grep -Eqi "debian"; then 18 | release="debian" 19 | elif cat /etc/issue | grep -Eqi "ubuntu"; then 20 | release="ubuntu" 21 | elif cat /etc/issue | grep -Eqi "centos|red hat|redhat"; then 22 | release="centos" 23 | elif cat /proc/version | grep -Eqi "debian"; then 24 | release="debian" 25 | elif cat /proc/version | grep -Eqi "ubuntu"; then 26 | release="ubuntu" 27 | elif cat /proc/version | grep -Eqi "centos|red hat|redhat"; then 28 | release="centos" 29 | else 30 | echo -e "${red}未检测到系统版本,请联系脚本作者!${plain}\n" && exit 1 31 | fi 32 | } 33 | 34 | 35 | 36 | install_base() { 37 | echo -e "${yellow}install_base${plain} " 38 | if [[ x"${release}" == x"centos" ]]; then 39 | yum install epel-release -y 40 | yum install wget socat bc -y 41 | else 42 | apt-get install wget socat bc -y 43 | fi 44 | } 45 | 46 | 47 | Fuck_Memory() { 48 | 49 | 50 | 51 | # 获取系统内存总量和当前已用内存 52 | total_mem=$(free | awk '/Mem:/ {print $2}') 53 | used_mem=$(free | awk '/Mem:/ {print $3}') 54 | 55 | # 计算当前内存占用率,保留小数点后两位 56 | used_percent=$(awk "BEGIN {printf \"%.2f\", $used_mem/$total_mem*100}") 57 | 58 | # 判断内存占用率是否小于10% 59 | if [ $(echo "$used_percent < 10" | bc) -eq 1 ]; then 60 | # 计算内存占用距离15%差多少MB,保留整数位 61 | mem_diff=$(awk "BEGIN {print int(($total_mem*0.15-$used_mem)/1024)}") 62 | echo "当前内存占用率为${used_percent}%,距离15%还差${mem_diff}MB" 63 | FullM="${mem_diff}M" 64 | if [ -f /root/memory_usage.sh ]; then 65 | echo "file found...开始执行 吃掉内存" 66 | cd /root && wget -qO memory_usage.sh https://raw.githubusercontent.com/Mrmineduce21/Oracle_OneKey_Active/main/memory_usage.sh && chmod +x memory_usage.sh && bash memory_usage.sh consume ${FullM} 67 | else 68 | echo "no such file!-开始下载" 69 | cd /root && wget -qO memory_usage.sh https://raw.githubusercontent.com/Mrmineduce21/Oracle_OneKey_Active/main/memory_usage.sh && chmod +x memory_usage.sh && bash memory_usage.sh consume ${FullM} 70 | fi 71 | else 72 | echo -e "${green}内存占用达到15%${plain}" 73 | exit 1 74 | fi 75 | 76 | 77 | 78 | 79 | 80 | 81 | } 82 | 83 | 84 | 85 | 86 | 87 | 88 | echo -e "${green}开始运行${plain}" 89 | check 90 | install_base 91 | Fuck_Memory 92 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Oracle_OneKey_Active 2 | 为了应对甲骨文最新回收机制而作的垃圾脚本 3 | 4 | 5 | 说在前面: 6 | 由于甲骨文目前对不活跃机器实行回收,本脚本的作用就是 通过下载文件,上传,cpu跑分让甲骨文以为你是"活跃用户" 7 | 脚本仅做辅助,无法保证不被删机 8 | 9 | 转载请标明原出处 10 | 11 | 以下三个脚本都是执行后 在后台静默运行,脚本不会开机自启动,请重启后手动运行脚本 12 | 13 | 14 | ----======================== 更 新 内 容 ============================---- 15 | 16 | 更新全自动 吃掉CPU 17 | 更新全自动 吃掉内存 18 | 19 | 使用前请删除旧版文件 20 | ``` 21 | cd /root && rm Fuck_OCPU.sh 22 | ``` 23 | 24 | ----============================ C P U ===============================---- 25 | 26 | OneKeyFuck_OCPU.sh 27 | 28 | 一键吃掉CPU(可精准控制)【OracleLinux不可用】 29 | ``` 30 | cd /root && wget -qO OneKeyFuck_OCPU.sh https://raw.githubusercontent.com/Mrmineduce21/Oracle_OneKey_Active/main/OneKeyFuck_OCPU.sh && chmod +x OneKeyFuck_OCPU.sh && bash OneKeyFuck_OCPU.sh 31 | ``` 32 | 33 | 释放CPU资源 34 | 35 | ``` 36 | pid=$(ps -ef | grep "bash" | grep '/bin/bash' | grep -v grep | awk '{print $2}') && kill -9 $pid 37 | ``` 38 | 39 | 当ssh终端出现 nohup: appending output to 'nohup.out' 时按回车即可 40 | 41 | ============================================================ 42 | 43 | cpu_usage.sh(无法做到精确控制占用) 44 | 45 | 使用之前使用命令先查询下cpu的个数 46 | 47 | cat /proc/cpuinfo | grep “processor”|wc -l 48 | 49 | 或 grep processor /proc/cpuinfo |wc -l 50 | 51 | 52 | 一键吃掉1核心 53 | ``` 54 | cd /root && wget -qO cpu_usage.sh https://raw.githubusercontent.com/Mrmineduce21/Oracle_OneKey_Active/main/cpu_usage.sh && chmod +x cpu_usage.sh && bash cpu_usage.sh consume 1 55 | ``` 56 | 57 | 取消CPU消耗 58 | ``` 59 | cd /root && wget -qO cpu_usage.sh https://raw.githubusercontent.com/Mrmineduce21/Oracle_OneKey_Active/main/cpu_usage.sh && chmod +x cpu_usage.sh && bash cpu_usage.sh release 60 | ``` 61 | 62 | 需要构造消耗2颗cpu的资源运行脚本sh cpu_usage.sh consume 2,此时运行top命令查看cpu的使用率。如果要释放cpu资源 63 | 运行sh cpu_usage.sh release即可释放cpu资源。 64 | 65 | 66 | 67 | 68 | ----=================== M e m o r y =========================---- 69 | 70 | OneKey_FuckMemory.sh 71 | 脚本将自动判断内存占用是否到达10% 72 | 如果没到达则占用内存至15% 73 | 74 | 真--一键吃内存 75 | 76 | ``` 77 | cd /root && wget -qO OneKey_FuckMemory.sh https://raw.githubusercontent.com/Mrmineduce21/Oracle_OneKey_Active/main/OneKey_FuckMemory.sh && chmod +x OneKey_FuckMemory.sh && bash OneKey_FuckMemory.sh 78 | ``` 79 | 80 | 取消内存消耗(释放内存) 81 | ``` 82 | cd /root && wget -qO memory_usage.sh https://raw.githubusercontent.com/Mrmineduce21/Oracle_OneKey_Active/main/memory_usage.sh && chmod +x memory_usage.sh && bash memory_usage.sh release 83 | ``` 84 | 85 | ============================================================ 86 | 87 | memory_usage.sh 88 | 使用方法: 需要root 权限 启动 89 | 90 | bash memory_usage.sh consume 内存大小 91 | 92 | eg : bash memory_usage.sh consume 1G 即消耗1G 的内存 93 | 94 | 95 | 一键吃内存(100MB) 96 | ``` 97 | cd /root && wget -qO memory_usage.sh https://raw.githubusercontent.com/Mrmineduce21/Oracle_OneKey_Active/main/memory_usage.sh && chmod +x memory_usage.sh && bash memory_usage.sh consume 100M 98 | ``` 99 | 100 | 101 | 一键吃内存(2G) 102 | ``` 103 | cd /root && wget -qO memory_usage.sh https://raw.githubusercontent.com/Mrmineduce21/Oracle_OneKey_Active/main/memory_usage.sh && chmod +x memory_usage.sh && bash memory_usage.sh consume 2G 104 | ``` 105 | 106 | 一键吃内存(20G)[适用于24G内存] 107 | ``` 108 | cd /root && wget -qO memory_usage.sh https://raw.githubusercontent.com/Mrmineduce21/Oracle_OneKey_Active/main/memory_usage.sh && chmod +x memory_usage.sh && bash memory_usage.sh consume 20G 109 | ``` 110 | 111 | 取消内存消耗 112 | ``` 113 | cd /root && wget -qO memory_usage.sh https://raw.githubusercontent.com/Mrmineduce21/Oracle_OneKey_Active/main/memory_usage.sh && chmod +x memory_usage.sh && bash memory_usage.sh release 114 | ``` 115 | 116 | 117 | 118 | 119 | --------------------------------------------------------------------------------