1. c脚本 消耗内存

1)在your_directory目录下,创建文件eatmem.c ,输入以下内容

2)编译:gcc eatmem.c -o eatmem

3) 创建定时任务,每15分钟执行:crontab -e  输入 */15 * * * *  /your_directory/eatmem >> /your_directory/memcron.log   wq保存,保存之后会生效。

#include <unistd.h>
#include <errno.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h> // Destription : release memory
// 1.parameters# gcc test_eatMem.c -o test_eatMem
// 2.parameters# ./test_eatMem
// Date : 2015-1-12 #define block 4 // eat times 4 block=1G
void eatMem()
{
int i =; int j = ; int cell = * * ; //256M
char * pMem[block]={}; // init all pointer to NULL.
for(i = ; i < block; i++)
{
pMem[i] = (char*)malloc(cell); // eat...
if(NULL == pMem[i]) // failed to eat.
{
printf("Insufficient memory avalible ,Cell %d Failure\n", i);
break;
} memset(pMem[i], , cell);
printf("[%d]%d Bytes.\n", i, cell); fflush(stdout);
sleep();
} //Read&Write 10 次,维持内存消耗的时间 可自己设置
int nTimes = ;
for(nTimes = ; nTimes < ; nTimes++)
{
for(i=; i<block; i++)
{
printf("Read&Write [%d] cell.\n", i); if(NULL == pMem[i])
{
continue;
} char ch=;
int j=;
for(j=; j<cell; j+=)
{
ch = pMem[i][j];
pMem[i][j] = 'a';
}
memset(pMem[i], , cell); fflush(stdout);
sleep();
} sleep();
} printf("Done! Start to release memory.\n");
//释放内存核心代码:
for(i = ; i < block; i++)
{
printf("free[%d]\n", i);
if(NULL != pMem[i])
{
free(pMem[i]);
pMem[i] = NULL;
} fflush(stdout);
sleep();
} printf("Operation successfully!\n");
fflush(stdout);
} int main(int argc,char * args[])
{
eatMem();
}

 2.shell脚本消耗内存

占用1GB内存1个小时. 注意需要可以mount的权限

#!/bin/bash
mkdir /tmp/memory
mount -t tmpfs -o size=1024M tmpfs /tmp/memory
dd if=/dev/zero of=/tmp/memory/block
sleep
rm /tmp/memory/block
umount /tmp/memory
rmdir /tmp/memory

3. shell脚本消耗CPU

1)创建脚本 eatcpu.sh 输入以下内容

2)消耗4台cpu,持续60s(可自己设置):    ./eatcpu.sh 4 

#! /bin/sh
# filename killcpu.sh
if [ $# != ] ; then
echo "USAGE: $0 <CPUs>"
exit ;
fi
for i in `seq $`
do
echo -ne "
i=;
while true
do
i=i+;
done" | /bin/sh &
pid_array[$i]=$! ;
done time=$(date "+%Y-%m-%d %H:%M:%S")
echo "${time}" for i in "${pid_array[@]}"; do
echo 'kill ' $i ';';
done sleep for i in "${pid_array[@]}"; do
kill $i;
done

总结!linux 消耗内存和cpu 定时任务的更多相关文章

  1. 查找Linux中内存和CPU使用率最高的进程

    下面的命令会查看到按照RAM和CPU降序方式的前最高几名进程的列表: [root@iZ25pvjcsyhZ ~]# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem ...

  2. linux 查看内存和cpu占用比较多的进程

    1.可以使用一下命令查使用内存最多的10个进程        ps -aux | sort -k4nr | head -n 102. 可以使用一下命令查使用CPU最多的10个进程        ps ...

  3. Linux中内存、CPU使用情况查看

    1.背景 在实际生产中我们为了保证系统能稳定运行,我们经常要查看当前的CPU和系统使用情况 建议使用top,简单丰富,快捷 2.使用free查看内存使用情况 3.使用 top查看内存.cpu内存占比 ...

  4. linux 查看内存和cpu

    Linux查看CPU和内存使用情况 在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 ...

  5. 查看Linux系统内存、CPU、磁盘使用率和详细信息

    一.查看内存占用 1.free # free -m 以MB为单位显示内存使用情况 [root@localhost ~]# free -m total used free shared buff/cac ...

  6. linux获取内存、cpu、负载、网口流量、磁盘信息

    内存信息 / meminfo 返回dict   #!/usr/bin/env python   def memory_stat():   mem = {}   f = open("/proc ...

  7. linux查看内存、CPU占用资源最多的进程

    [内存占用] #利用ps命令,默认使用ps参数会显示的结果 ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 ...

  8. 系统内存和CPU管理、监控

    本博文的主要内容有 .系统内存管理.监控:vmstat和free -mt .系统CPU管理.监控:sar -u.mpstat.uptime linux系统内存和CPU是在系统运行的过程中不断消耗的资源 ...

  9. Linux 查看进程消耗内存情况总结

    在Linux中,有很多命令或工具查看内存使用情况,今天我们来看看如何查看进程消耗.占用的内存情况,Linux的内存管理和相关概念要比Windows复杂一些.在此之前,我们需要了解一下Linux系统下面 ...

随机推荐

  1. The Definitive Guide To Django 2 学习笔记(七) 第四章 模板 (三)使用模板系统

    接下来,我们开始学习如何使用模板系统,但我们并不和前面说的View相结合,我们的这里的目的是展示模板系统是如何独立于Django框架运行的.下面是在pyhon代码中使用Django模板系统的基础例子: ...

  2. 【转载】【Pycharm编辑器破解步骤】之idea和Pycharm 等系列产品激活激活方法和激活码(附:Mac系统)

    感谢:雪中皓月的<idea和Pycharm 等系列产品激活激活方法和激活码> 第一种方法:使用现有的注册服务器 优点:快捷,方便,省事 缺点:经常被封杀,可能会面临经常激活的困扰 Lice ...

  3. js控制button

    按钮变灰不可用方法:document.getElementById("crop").setAttribute("disabled", true); 按钮可用方法 ...

  4. 常见tcp端口说明

    TCP端口(静态端口)TCP 0= ReservedTCP 1=TCP Port Service MultiplexerTCP 2=DeathTCP 5=Remote Job Entry,yoyoTC ...

  5. 如何用redis/memcache做Mysql缓存层

    方法一:直接用MysqlMysql有缓存,实现了类似的功能,如果需要缓存的东西很多,可以把缓存的内存设置大一点.这样的好处就是不用去控制缓存的失效,确保数据一致性. 方法二:启用用DAO框架的缓存比如 ...

  6. 把查询到结果合并放在一行 JOIN非union

    select one.max,one.min,one.low sts,c.high ens,one.time from ( select a.max max,a.min min,b.low low,a ...

  7. 设置EntityFramework中decimal类型数据精度

    EF中默认的decimal数据精度为两位数,当我们数据库设置的精度大于2时,EF将只会保留到2为精度. e.g. 2.1999将会被保存为2.20 网上找到常见的方法为重写DbContext的OnMo ...

  8. 【vijos】1892 树上的最大匹配(树形dp+计数)

    https://vijos.org/p/1892 这个必须得卡评测机+手动开栈才能卡过QAQ 手动开栈我百度的... int size=256<<20; //256MB char *p=( ...

  9. MATLAB中的文件类型总结

    %   ***.m文件 : 脚本文件或者函数文件或者:%   ***.mat文件:数据存储文件(二进制文件,可以ASCII码形式保存和加载,%                类似于单行EXCEL表格) ...

  10. python 之 re模块(正则表达式)

    一.起源(历史) 正则表达式的“鼻祖”或许可一直追溯到科学家对人类神经系统工作原理的早期研究.美国新泽西州的Warren McCulloch和出生在美国底特律的Walter Pitts这两位神经生理方 ...