Linux进程查看与管理命令总结

Linux进程查看与管理命令总结

  • 内核的功能:

    • 进程管理

    • 文件系统

    • 网络功能

    • 内存管理

    • 驱动程序

    • 安全功能

  • Process:运行中程序的一个副本。(存在生命周期)

  • Linux内核存储进程信息的固定格式:task struct

    • 多个任务的task struct组件的链表:task list

  • 进程创建:

    • init

      • 父子关系

      • 进程:都有其父进程创建

        • fork(),clone()

    • 进程优先级:

      • 0-139:

        • 1-99:实时优先级:数字越大,优先级越高

        • 100-139:静态优先级:数字越小,优先级越高

        • Nice值:-20,19

      • Big O标准

        • O(1),O(logn),O(n),0(n^2),O(2^n)

    • 进程内存

      • Page Frame:页框,用存储页面数据

        • 存储Page

        • MMU:Memory Management Unit

    • IPC:Inter Process Communicarion(进程通信机制)

      • 同一主机上:

        • signal

        • shm:shared memory

        • semerphor

      • 不同主机上:

        • rpc:remote procecure call(远程过程调用)

        • socket:

  • Linux内核:抢占式多任务

    • 进程类型:

      • 守护进程:在系统引导过程中启动的进程,与终端无关的进程。

      • 前台进程:跟终端相关,通过终端启动的进程

        • 注:也可将在前台启动的进程送往后台,以守护模式运行。

    • 进程状态

      • 运行态:running

      • 就绪态:ready

      • 睡眠态:

        • 可中断:interruptable

        • 不可中断:uninterruptable

      • 停止态:暂停于内存中,但不会被调度,除非手动启动之:stopped

      • 僵死态:zombie

    • 进程的分类:

      • cpu-Bound

      • IO-Bound

  • Linux系统上的进程查看及管理工具:pstree,ps,pidof,pgrep,top ,htop,glances,pmap,vnstat,dstat,kill,pkill,job,bg,fg,nohup,nice,renice,killall,…

    • pstree命令:pstree-display a tree of processes

    • ps命令:

      • /proc/:内核中的状态信息;

        • 内核参数:

          • 可设置其值从而调整内核运行特性的参数;/proc/sys/

          • 状态变量:其用于输出内核中统计信息或状态信息,仅用于查看;

      • 进程:

        • /proc/#:(#:PID)

      • ps-report a snapshot of the current processes

        • ps[options]

          • 选项有三种风格:

            • UNIX options,which may be grouped and must be preceded by a dash。

            • BSD options,which may be grouped and must not be used with a dash。

            • GNU long options,which are preceded by two dashes。

          • 启动进程的方式:

            • 系统启动过程中自动启动:与终端无关的进程;

            • 用户通过终端启动:与终端相关的进程;

          • 选项:

            • a:所有与终端相关的进程;

            • x:所有与终端无关的进程;

            • u:以用户为中心组织进程状态信息显示;

          • 常用组合之一:aux

            • VSZ:虚拟内存集;

            • RSS:Resident Size,常驻内存集;

            • STAT:

              • R:running

              • S:interruptable sleeping

              • D:uninterruptable sleeping

              • T:Stopped

              • Z:zombie

              • +:前台进程

              • I:多线程进程

              • N:低优先进程

              • <:高级优先进程

              • s:session leader

          • 常用组合二:-ef

            • -F:显示完整格式的进程信息;

              • C:cpu utilization

              • PSR:运行于那颗CPU之上

            • -H:以层级结构显示进程的相关信息;

          • 常用组合三:-eFH

          • 常用组合四:

            • o field1,field2,…:自定义要显示的字段列表,以逗号分隔;

              • 常用的field:pid,ni,pri,psr,pcpu,stat,comm,tty,ppid,rtprio

                • ni:nice值

                • pri:priority,优先级;

                • rtprio:real time priority;实时优先级;

    • pgrep,pkill命令:-look up or signal processes based on name and other attributes

      • pgrep[options]pattern

        • -u uid:effective user

        • -U uid:read user

        • -t TERMINAL:与指定的终端相关的进程;

        • -l显示进程名;

        • -a:显示完整格式的进程名;

        • -P pid:显示此进程的子进程;

    • pidof命令:

      • 根据进程名,取其pid;

    • top命令;

      • -display Linux processes

        • 排序:

          • P:以占据cpu百分比排序;

          • M:以占据内存百分比排序;

          • T:以占用cup时间排序;

        • 首部信息:

          • uptime信息:I命令

          • tasks及cpu信息:t命令

          • 内存信息:m命令

        • 退出命令:q

        • 修改刷新时间命令:s

        • 终止指定的进程:k

        • 选项:

          • -d #:指定刷新时间间隔,默认为3秒;

          • -b:以批次方式显示;

          • -n #:显示多少批次;

    • uptime命令:显示系统时间、运行时长及平均负载;

      • 过去1分钟、5分钟和15分钟的平均负载;

        • 等待运行的进程队列长度

    • htop命令:

      • 选项:

        • -d #:指定延迟时间间隔;

        • -u UserName:仅显示指定用户的进程;

        • -s COLUME:以指定字段进行排序;

      • 子命令:

        • l:显示选定的进程打开的文件列表;

        • s:跟踪选定的进程的系统调用;

        • t:以层级关系显示各进程的状态;

        • a:将选定的进程绑定至某指定的CPU核心;

    • vmstat命令:

      • -Report virtual memory statistics

      • vmstat [option][delay[count]]

        • procs:

          • r:等待运行的程序的个数;CPU上等待运行的任务的队列长度;

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

        • memory:

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

          • free:空闲的物理内存总量;

          • buffer:用于buffer的内存总量;

          • cache:用于cache的内存总量

        • swap:

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

          • so:数据离开swap的速录(kb/s)

        • io:

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

          • bo:保存数据至块设备的速率(kb/s)

        • system:

          • in:interrupts,终端速率;

          • cs:context switch,上下文切换的速率;

        • cpu

          • us:user space

          • sy:system

          • id:idle

          • wa:wait

          • st:stolen

      • 选项:

        • -s:显示内存统计数据;

    • pmap命令:-report memory map of a process

      • pmap [options]pid[…]

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

      • 另一种查看方式:cat /proc/PIDmaps

    • glances命令: -A cross-platform curses-based monitoring tool

      • 内建命令

      • 常用选项:

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

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

        • -m:关闭mount模块;

        • -n:关闭network模块;

        • -t #:刷新时间间隔;

        • -1:每个cpu的相关数据单独显示

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

        • -f /PATH/TO/SOMEDIR:设定输出文件的位置;

      • C/S模式下运行glances命令;

        • 服务模式:

          • glances -s -B IPADDR

          • IPADDR:本机的地址,用于监听;

        • 客户端模式

          • glances -c IPADDR

          • IPADDR:是远程服务器的地址

    • dstat命令:-vversatile tool for generating system resource statistics

      • 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-latency: 显示延迟最大的进程

    • kill命令: -terminate a process向进程发送控制信号,以实现对进程管理

      • 显示当前系统可用信号:

      • kill -l

      • 每个信号的表示方法有三种;

        • 1)信号的数字标识;

        • 2)信号的完整名称;

        • 3)信号的简写名称;

      • 向发信号:

      • kill[-s signal|-SIGNAL]PID…

      • 常用信号:

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

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

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

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

        • 18) SIGCONT:

        • 19) SIGSTOP: 指定信号的方法:

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

        • (2) 信号完整名称;SIGHUP

        • (3) 信号的简写名称;HUP

    • killall命令: -kill processes by name

      • killall [-SIGNAL] program

原创文章,作者:502795641,如若转载,请注明出处:http://www.178linux.com/44497

(0)
502795641502795641
上一篇 2016-09-07
下一篇 2016-09-07

相关推荐

  • Centos6.8 搭建LAMP平台

    Centos6.8 搭建LAMP平台 §·运行环境介绍 LAMP的运行环境介绍: L代表: Linux  Centos 6.8 A代表: apache  httpd-2.2.15-53.el6.centos.x86_64 M代表:MySQL  mysql-server-5.1.73-7.el6.x86_64 P代表: php &…

    Linux干货 2016-10-12
  • Linux的哲学思想和文件系统

    Linux的哲学思想 Linux是一个自由的操作系统,其内部也有着自己独特的一些特定的规则,就是我们所说的关于Linux的哲学思想。 Linux系统的哲学思想 1.一切皆文件:Linux系统把几乎所有的系统资源全部都抽象为文件形式,包括硬件设备,甚至通信的接口都是以文件形式存在的。 2.Linux系统是由许许多多的小程序组成的,这些小程序的功能性单一,组合这…

    Linux干货 2016-11-01
  • 详解LAMP源码编译安装

    详解LAMP源码编译安装 LAMP简介 LAMP是当下非常流行的一套Web架构,我们可以在GNU/Linux下通过其他人打包的程序包来进行安装; 但是在生产环境中,很多时候都需要我们自己定制安装AMP,编译安装LAMP有以下几个优点 根据生产环境灵活定制程序 优化编译参数,提高性能 解决不必要的软件依赖 一、准备工作 卸载yum或rpm安…

    Linux干货 2016-10-16
  • 第一周作业

    描述计算机的组成及其功能。 由冯~诺伊曼提出计算机体系结构,计算机主要由控制器、运算器、存储器、输入设备、输出设备五大硬件组成。 控制器(Controller):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器(Datapath):运算器的功能是对数据进…

    Linux干货 2017-02-07
  • 十四.Linux博客-2016年8月22日数组

    格式说明: 操作 概念 命令 说明及举例 十四.数组 数组概念 变量:存储单个元素的内存空间数组:存储多个元素的连续的内存空间,相当于多个变量的集合。数组名和索引索引:编号从0开始,属于数值索引注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。bash的数组支持稀疏格式(索引不连续) 声明数组declare -…

    Linux干货 2016-08-24
  • VSFTPD+PAM+[基于文件虚拟用户认证 | 基于MYSQL虚拟用户认证]

    VSFTPD+PAM+[基于文件虚拟用户认证 | 基于MYSQL虚拟用户认证] VSFTPD+PAM+[基于文件虚拟用户认证 | 基于MYSQL虚拟用户认证] 一、实验环境 二、实验步骤 1、通过mysql数据库方式虚拟用户认证 1.1数据库配置 1.2FTP配置 1.3测试 2、通过文件方式进行虚拟用户认证 一、实验环境 CentOS 6.7+vsftpd…

    Linux干货 2016-04-18

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-10 11:04

    尽量能将笔记转换为优秀的博客来,而不是粘贴笔记,相信自己,加油!!!