vmstat命令:

  vmstat [options] [delay [ count]]

  procs:

    r:等待运行的进程的个数;

    b:处于不可中断睡眠态的进程个数;(被阻塞的队列的长度);

  memory:

    swpd:交换内存的使用总量;

    free:空闲物理内存总量;

    buffer:用于buffer的内存总量;

    cache:用于cache的内存总量;

  swap:

    si:数据进入swap中的数据速率(kb/s)

    so:数据离开swap中的数据速率(kb/s)

  io:

    bi:从块设备读入数据到系统的速率(kb/s)

    bo:保存数据至块设备的速率;

  system:

    in:interrupts,中断速率;每秒发生多少次中断

    cs:context switch,进程切换速率;

  cpu:

    us:用户空间占据的比例

    sy:内核空间占据的比例

    id:空闲比例

    wa:等待IO完成所消耗的时间比例

    st:被虚拟化技术偷走的时间比例

  选项:

    -s:显示内存的统计数据

pmap命令:

  pmap [ options ] pids...

    -x:显示详细格式 的信息;

  另外一种实现:

    cat /proc/PID/maps

glances:

  常用选项:

    -b:以Byte为单位显示网卡数据速率;

    -d:关闭磁盘I/O模块;

    -f /path/to/somefile:设定输入文件位置;

    -o { HTML | CSV }:输出格式;

    -m:禁用mount模块;

    -n:禁用网络模块;

    -t #:延迟时间间隔;

    -1:每个CPU的相关数据单独显示;

  C/S模式下运行glances命令:

    服务模式:

      glances -s -B IPADDR

      IPADDR:指明监听本机哪个地址

    客户端模式:

      glances -c IPADDR

      IPADDR:要连入的服务器端地址

dstat命令:

  dstat [-afv] [options..] [delay [count]]

    -c:显示cpu相关信息;

      -C #,#,....,total

    -d:显示disk相关信息;

      -D total,sda,sdb,...

    -g:显示page相关统计数据;

    -m:显示memory相关统计数据;

    -n:显示network相关统计数据;

    -p:显示process相关统计数据;

    -r:显示io请求相关的统计数据;

    -s:显示swapped相关的统计数据;

    --tcp

    --udp

    --unix

    --raw:裸套接字

    --socket

    --ipc

    --top-cpu:显示最占用CPU的进程;

    --top-io:显示最占用io的进程;

    --top-mem:显示最占用内存的进程;

    --top-lantency:显示延迟最大的进程;

kill命令:

  向进程发送控制信息,以实现对进程管理

  显示当前系统可用信息:

    kill -l

    man 7 signal

    常用信号:

      1) SIGHUP:无需关闭进程而让其重读配置文件;

      2) SIGINT:中止正在运行的进程;相当于Ctrl + c;

      9) SIGKILL:杀死正在运行的进程;

      15) SIGTERM:终止正在运行的进程;

      18) SIGCONT:手工调度进程继续运行;

      19) SIGSTOP:让进程处理停止态;

    指定信息的方法:

      (1) 信号的数字标识:1,2,9

      (2) 信号完整名称:SIGHUP

      (3) 信号的简写名称:HUP

  向进程发信号:

    kill [ -SIGNAL ]  PID...

  终止“名称”之下的所有进程:

    killall  [ -SIGNAL ]  Program

Linux的作业控制

  前台作业:通过终端启动,且启动后一直占据终端;

  后台作业:可以通过终端启动,但启动后即转入后台运行(释放终端);

  如何让作业运行于后台?

    (1)运行中的作业

      Ctrl + z

    (2)尚未启动的作业

      COMMAND &

    此类作业虽然被送往后台运行,但其依然与终端相关;如果希望送往后台后,剥离与终端的关系;

      nohup COMMAND &

    查看所有作业:

      jobs

    作业控制:

      fg [[%]JOB_NUM]:把指定的后台作业调回前台;

      bg [[%]JOB_NUM]:让送往后台的作业在后台继续运行;

      kill [%JOB_NUM]:终止指定的作业;

进程优先级调整:

  静态优先级:100-139

  进程默认启动时的nice值为0,优先级为120;

  nice命令:

    nice [OPTION] [COMMAND [ARG]...]

    nice,renice

  renice命令:

    renice [-n] priority pid...

  查看:

    ps axo pid,comm,ni

未涉及到的命令:sar,tsar,iostat,iftop

博客作业:进程管理工具top/htop/glances/dstat的使用;

Linux任务计划、周期生任务执行

  未来的某时间点执行一次任务:at,batch

  周期生运行某伤:cron

  电子邮件服务:

    smtp:simple mail transmission protocol,用于传送邮件;

    pop3:Post Office Protocol

    imap4:Internet Mail Access Protocol

    mailx - send and receive Internet mail

      MUA:Mail User Agent

      mailx [-s "SUBJECT"] username[@hostname]

        邮件正文的生成:

          (1)直接给出,Ctrl+d

          (2)输入重定向

          (3)通过管道:

            echo -e "How are you?\nHow old are you?" | mail

      mail  收件

at命令:

  at [option] TIME

    TIME:

      HH:MM [YYY-mm-dd]

      nonn,midnight,teatime

      tomorrow

      now+#{minutes,hours,days,OR weeks}

    常用选项:

      -q QUEUE:

      -l:列出指定队列中等待运行的作业;相当于atq

      -d:删除指定的作业;相当于atrm

      -c:具体的作业任务;

      -f /path/from/somefile:从指定的文件中读取任务

    注意:作业执行结果以邮件通知给相关用户;

batch命令:

  让系统自行选择空闲时间去执行此处指定的任务;

周期性任务计划:cron

  相关的程序包:

    cronie:主程序包,提供了crond守护进程及相关辅助工具;

    cronie-anacron:cronie的补充程序;用于监控cronie任务执行状况;如cronie中的任务在过去该运行的时间点未能正常运行,则anacron会随后启动一次此任务;

    crontabs:包含CentOS提供系统维护任务;

    确保crond守护处理运行状态:

      CentOS 7:

        ssytemctl status crond

          ...running...

      CentOS 6:

        service crond status

  计划要周期性执行的任务提交给crond,由其来实现到点运行。

    系统cron任务:系统维护作业

      /etc/crontab

    用户cron任务:

      crontab命令

    系统cron任务

    例如:晚上9点10分运行echo命令:

      10 21 * * * gentoo /bin/echo "Howdy!"

    时间表示法:

      (1)特定值:

        给定时间点有效取值范围内的值;

      (2)*

        给定时间点上有效取值范围内的所有值;

        表示“每....”

      (3)离散取值:,

        #,#,#,

      (4)连续取值:-

        #-#

      (5)在指定时间范围上,定义步长;

        /#:#即为步长

    例如:每3小时echo命令;

      0 */3 * * * gentoo /bin/echo "howdy!"

  用户cron:

    crontab命令定义,每个用户都有专用的cron任务文件:/var/spool/cron/USERNAME

    crontab命令:

      crontab [-u user] [-l | -r | -e] [-i]

        -l:列出所有任务;

        -e:编辑任务;

        -r:移除所有任务;

        -i:同-r一同使用,以交互式模式让用户有选择地移除指定任务;

        -u user:仅root可运行,代为为指定用户管理cron任务;

    注意:运行结果以邮件通知给相关用户;

      (1)COMMAND > /dev/null;

      (2)COMMAND &> /dev/null

      对于cron任务来讲,%有特殊用途:如果在命令中要使用%,则需要转义;不过,如果把%放置于单引号中,也可以不用转义。

    思考:

      (1)如何在秒级别运行任务?

        * * * * * for min in 0 1 2;  do echo "hi";  sleep 20; done

      (2)如何实现每7分钟运行一次任务?

      sleep命令:

        sleep NUMBER [SUFFIX]...

          SUFFIX:

            s:秒,默认

            m:分

            h:小时

            d:天

练习:

  1、每4小时备份一次/etc目录至/backup目录中,保存的文件名称格式为“etc-yyy-mm-dd-HH.tar.xz";

  2、每周2,4,7备份/var/log/messages文件至/logs目录中,文件名形如”message-yymmdd”;

  3、每两小时取出当前系统/proc/meminfo文件中以S或M开关的信息追加至/tmp/meminfo.txt文件中;

  4、工作日时间内,每小时执行一次“ip addr show”命令;

Linux:Day12(下) 进程、任务计划的更多相关文章

  1. Linux系统管理10——进程和计划任务管理

    Linux系统管理10——进程和计划任务管理 一.程序和进程的关系 1.程序 ·保存在硬盘.光盘等介质中的可执行代码和数据 ·静态保存的代码 2.进程 ·在CPU及内存中运行的程序代码 ·动态执行的代 ...

  2. Linux环境下进程的CPU占用率

    阿里云服务器网站:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=qqwovx6h 文字来源:http://www.s ...

  3. linux下进程权限分析

    转自http://blog.chinaunix.net/uid-27105712-id-3349522.html 在linux下,关于文件权限,大部分人接触比较多,也比较熟悉了解.但是对进程权限一般知 ...

  4. Linux环境下如何生成core文件

    Linux环境下进程发生异常而挂掉,通常很难查找原因,但是一般Linux内核给我们提供的核心文件,记录了进程在崩溃时候的信息.但是生成core文件需要设置开关,具体步骤如下: 1.查看生成core文件 ...

  5. Linux下性能监控、守护进程与计划任务管理

    目录 一:监视系统进程(ps .top) 二:查看网络连接信息 (netstat) 三:文件进程.端口关联(lsof) 四:计划任务管理(at .crontab) at crontab 一:监视系统进 ...

  6. Linux系统——进程和计划任务管理

    进程和计划任务管理 一.进程和程序的关系 进程:在CPU及内存中运行的程序代码:动态执行的代码:每个进程可以创建一个或多个进程 程序:保存在硬盘.光盘等介质中的可执行代码和数据:静态保存的代码 二.基 ...

  7. 关于Linux下进程的详解【进程查看与管理】

    一.关于进程 进程: 已经启动的可执行程序的运行实力 进程的组成:一个进程包含内核中的一部分地址空间和一系列数据结构.其中地址空间是内核标记的一部分内存以供进程使用,而数据结构则用来纪录每个进程的具体 ...

  8. window 和 linux 环境下杀死tomcat进程——也可以解决其他端口被占用的问题

    1.应用场景 在Windows或者linux操作系统中,我们在启动一个tomcat服务器时,经常会发现8080端口已经被占用的错误,而我们又不知道如何停止这个tomcat服务器. 2.window环境 ...

  9. linux 下进程通讯详解

    linux 下进程通讯方法主要有以下六种: 1.管道 2.信号 3.共享内存 4.消息队列 5.信号量 6.socket

随机推荐

  1. 【链表问题】打卡2:删除单链表的第 K个节点

    前言 以专题的形式更新刷题贴,欢迎跟我一起学习刷题.每道题会提供简单的解答. 题目描述 在单链表中删除倒数第 K 个节点 要求 如果链表的长度为 N, 时间复杂度达到 O(N), 额外空间复杂度达到 ...

  2. 前端笔记之JavaScript(十)深入JavaScript节点&DOM&事件

    一.DOM JavaScript语言核心.变量的定义.变量的类型.运算符.表达式.函数.if语句.for循环.算法等等.这些东西都属于语言核心,下次继续学习语言核心就是面向对象了.JavaScript ...

  3. 决策树 Decision Tree

    决策树是一个类似于流程图的树结构:其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布.树的最顶层是根结点.  决策树的构建 想要构建一个决策树,那么咱们 ...

  4. 用gogs轻松搭建个人的git服务器

    因为公司和家里电脑里面有些项目需做版本控制或者说共享吧,就想搭个自己的git服务器:原本想用gitlab,不过我服务器配置比较差,查了一下,看到gogs,眼前一亮: Gogs 的目标是打造一个最简单. ...

  5. 浅析JavaScript工厂模式

    这里主要介绍两种工厂模式,第一种“简单工厂模式”,第二种“工厂方法模式” 简单工厂模式 1.定义 由一个工厂对象决定对象创建某一种产品对象的的实例.主要用来创建同一类对象. 2.具体需求 现在有一个登 ...

  6. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->Web版本工作流部分业务处理界面与查看界面全新展示

    RDIFramework.NET工作流程组件是以RDIFramework.NET框架为支撑,根据我们多年的项目经验和项目实践,结合国内各大工作流产品的特点研发的一套流程管理组件.该组件不仅考虑到从零搭 ...

  7. [ Java面试题 ]框架篇二

    1.Hibernate工作原理及为什么要使用Hibernate? 工作原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Session 4.创建事务Tr ...

  8. Service Worker MDN英文笔记

    前言: 以前学习基础知识的时候总看别人写的入门文章,但有时候还是一脸懵逼,直到自己用心阅读了MDN的英文文档才对基础知识的一些理论有了更深的理解,所以我在边阅读文档的时候边记录下帮助比较大的,也方便大 ...

  9. Linux find常用用法示例

    在此处只给出find的基本用法示例,都是平时我个人非常常用的搜索功能.如果有不理解的部分,则看后面的find运行机制详解对于理论的说明,也建议在看完这些基本示例后阅读一遍理论说明,它是本人翻译自fin ...

  10. xddpay.com 个人支付接口接入流程

    作为一个独立开发者产品需要支付接口是挺麻烦的,支付宝微信都不对个人开放,注册公司维护成本太高,市面上各种收款工具要么手续费太高,要么到账很慢,体验很不好. 看到 「小叮当支付」 这个收款工具,挺有意思 ...