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

相关推荐

  • 【推荐】Linux 简单部署LAMP

    Linux 简单部署LAMP: 实验环境: 1、主机系统Centos6.7_X86_64 2、DNS&CA:192.168.3.10 3、LAMP安装方式为rpm 4、主机IP:192.168.3.11提供web站点:     http://wp.neolinux.com     &nbsp…

    Linux干货 2016-06-22
  • vim的总结、练习和周期性任务

    vim:VI的增强版,是一款可视化功能非常强大的文本编辑器,属于全屏编辑器。 vim:使用方法: 命令格式:    ~]#vim [options] [file ..]      选项:        +#:打开文件后,直接让光标处于第#行首;   …

    Linux干货 2017-08-14
  • 软Raid

    软RAID     一.概念 RAID是多个磁盘合成一个“阵列”来提供更好的性能、冗余、或者两者都提供。 二.作用 提高IO能力: 磁盘并行读写 提高冗余来实现 :磁盘冗余来实现 三.实现方式 外接式磁盘阵列:通过扩展卡提供适配能力 内接式RAID:主板集成RAID控制器 软件RAID:通过OS实现(今天的重点) 四.RAID级别 1. …

    2017-08-29
  • linux中的vim

    什么是vim:     Linux 在命令行下的文本编辑器,很多个别软件的编辑接口都会主动调用vim,所以在 Linux 的系统中使用文字编辑器来编辑你的Linux参数配置文件,在 Linux 的世界中,绝大部分的配置文件都是以 ASCII 的纯文本形态存在,因此利用简单的文字编辑软件就能够修改设置.所有的Unix L…

    Linux干货 2016-08-11
  • 网络基础知识子网划分

    一、某公司申请到一个C 类IP 地址,但要连接6 个的子公司,最大的一个子 公司有26 台计算机,每个子公司在一个网段中,则子网掩码应设为?  根据要划分的子网数量来算子网掩码的。2的M次方大于等于N。其中M是划分子网时要借的位数。N是要划分的子网数。 将需求代入公式,M=3,C类IP默认的掩码为24位,再从主机位中借来3位,就是27位。二进制表示…

    Linux干货 2016-09-06
  • 网络yum源的配置

    1.准备: 光盘 包 元数据 2.网络服务http(s)  ftp 查看是否安装  which  vsftp;  ls  /misc/cd/Packages | grep vsftpd 安装  rpm  -ivh  /misc/cd/Packages/vsftpd… …

    2017-06-13

评论列表(1条)

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

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