• 系统管理:进程管理、终止进程、工作管理、系统资源查看


    进程管理

    查看所有进程:

    ps aux   注释:a所有前台进程,x所有后台进程,u进程产生的用户

    或  

    ps -le  注释:-l显示详细信息,-e显示所有进程

    ps可理解为process snapshot或process status

    [root@localhost ~]# ps aux
    USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root          1  0.0  0.6 128092  6724 ?        Ss   13:08   0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
    root          2  0.0  0.0      0     0 ?        S    13:08   0:00 [kthreadd]

    tty代表本地终端,tty1-tty6字符终端,tty7图形终端,用Alt+F1到F6,Ctrl+Alt+F7切换。

    pts/0-255代表远程虚拟终端

    STAT进程状态:R运行,S睡眠,T停止,s包含子进程,+位于后台

    START:进程启动时间

    TIME:进程占用CPU时间

    COMMAND:产品进程的命令

    查看系统健康状态:top

    [root@localhost ~]# top -d 9  注释:-d设置几秒刷新,默认3秒
    top - 15:31:37 up  2:23,  4 users,  load average: 0.00, 0.01, 0.05  注释:load average显示系统在之前1、5、15分钟的平均负载,<1负载小,>1负载大,相对单核CPU来说的,如果是4核可以理解为<4、>4
    Tasks: 108 total,   1 running, 107 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.1 us,  0.2 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st  注释:us用户占用,sy系统占用,ni改变过优先级用户进程占用,id空闲,主要看这个,wa等待输入输出进程占用,hi硬中断请求服务占用,si软中断服务请求占用,st(steal time)虚拟时间百分比,虚拟机虚拟CPU等待实际CPU时间百分比。
    KiB Mem :   999936 total,   579276 free,   149096 used,   271564 buff/cache  注释:主要看空闲内存free
    KiB Swap:  4191224 total,  4191224 free,        0 used.   667604 avail Mem   注释:可以看出交换分区基本没用,所以分多了也是浪费硬盘。
    注释:以上5行重点看划线部分
       PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND      注释:默认以CPU占用率%CPU降序排序                                                                  
         1 root      20   0  128092   6724   3972 S  0.0  0.7   0:01.57 systemd                                                                        
         2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd     

    ?或h  显示交互模式帮助

    P(可以开启大写,再按p)或shift+p:以CPU占用降序排列

    M(可以开启大写,再按m)或shift+m:以内存占用降序排列

    N(可以开启大写,再按n)或shift+n:以PID降序排列

    q退出

    截图可以看出top命令本身就是一条比较耗资源的命令。

    查看系统运行时长:uptime或top或w

    [root@localhost ~]# uptime
     15:39:47 up  2:31,  4 users,  load average: 0.00, 0.01, 0.05  注释:和top命令首行一样
    [root@localhost ~]# w
     16:30:57 up  3:22,  4 users,  load average: 0.00, 0.01, 0.05  注释:和top命令首行一样
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1                      13:10    1:07m  0.65s  0.65s -bash
    root     pts/0    192.168.3.10     13:11    1.00s  0.27s  0.02s w
    qiaofeng tty2                      15:21    1:09m  0.02s  0.02s -bash
    xiongjia tty3                      15:21    1:09m  0.01s  0.01s -bash

    tree命令:

    如果未安装tree命令可以使用光盘yum源安装:

    mount /dev/cdrom /mnt/cdrom

    yum -y install tree

    [root@localhost ~]# tree  注释:查看当前目录结构
    .
    ├── myShell.sh
    ├── shFiles
    │   ├── hello.sh
    │   ├── param.sh
    │   ├── starXat.sh
    │   └── Tetris.sh
    ├── testfile
    └── testfileb
    
    1 directory, 7 files
    [root@localhost ~]# ls
    myShell.sh  shFiles  testfile  testfileb

    pstree查看进程树:

    [root@localhost ~]# pstree -p
    systemd(1)─┬─NetworkManager(581)─┬─dhclient(685)
               │                     ├─{NetworkManager}(585)
               │                     └─{NetworkManager}(587)
               ├─abrt-watch-log(536)
               ├─abrtd(532)
               ├─agetty(2873)
               ├─atd(574)
               ├─auditd(508)───{auditd}(515)
               ├─crond(572)
               ├─dbus-daemon(546)───{dbus-daemon}(554)
               ├─firewalld(577)───{firewalld}(682)
               ├─login(578)───bash(2111)
               ├─login(2644)───bash(2651)
               ├─lsmd(534)
               ├─lvmetad(371)
               ├─master(1294)─┬─pickup(3148)
               │              └─qmgr(1301)
               ├─polkitd(535)─┬─{polkitd}(553)
               │              ├─{polkitd}(560)
               │              ├─{polkitd}(564)
               │              ├─{polkitd}(565)
               │              └─{polkitd}(567)
               ├─rngd(539)
               ├─rsyslogd(892)─┬─{rsyslogd}(898)
               │               └─{rsyslogd}(899)
               ├─smartd(528)
               ├─sshd(932)───sshd(2150)───bash(2154)───pstree(3294)
               ├─systemd-journal(360)
               ├─systemd-logind(544)
               ├─systemd-udevd(378)
               ├─tuned(893)─┬─{tuned}(1120)
               │            ├─{tuned}(1124)
               │            ├─{tuned}(1127)
               │            └─{tuned}(1139)
               └─vmtoolsd(529)

     终止进程:kill

    [root@localhost ~]# kill
    kill: 用法:kill [-s 信号声明 | -n 信号编号 | -信号声明] 进程号 | 任务声明 ... 或 kill -l [信号声明]
    [root@localhost ~]# kill -l
     1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP  注释:常用的有1终止进程后重新读取配置文件再重启进程、9强制终止进程、15正常终止进程
     6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
    11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
    16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
    21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
    26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
    31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
    38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
    43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
    48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
    53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
    58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
    63) SIGRTMAX-1  64) SIGRTMAX

    kill -1 PID  注释:重启进程

    kill -9 PID  注释:强制终止进程

    kill -15 PID   注释:-15是默认值,可省。

    killall [选项][信号] 进程名  注释:根据进程名杀死一类进程

    选项:-i交互式,终止前询问;-I忽略大小写。

    pkill [选项][信号] 进程名  注释:根据进程名杀死一类进程

    选项:-t 终端号  按终端号踢出用户

    [root@localhost ~]# w
     16:33:30 up  3:25,  4 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1                      13:10    1:09m  0.65s  0.65s -bash
    root     pts/0    192.168.3.10     13:11    2.00s  0.28s  0.00s w
    qiaofeng tty2                      15:21    1:11m  0.02s  0.02s -bash
    xiongjia tty3                      15:21    1:12m  0.01s  0.01s -bash
    [root@localhost ~]# pkill -9 -t tty2
    [root@localhost ~]# w
     16:33:44 up  3:25,  3 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1                      13:10    1:10m  0.65s  0.65s -bash
    root     pts/0    192.168.3.10     13:11    0.00s  0.29s  0.01s w
    xiongjia tty3                      15:21    1:12m  0.01s  0.01s -bash

    工作管理

    把进程放入后台:

    命令 &  注释:此方法放入后台的进程仍在运行

    命令  然后Ctrl+z  注释:此方法放入后台的进程是暂停状态

    [root@localhost ~]# tar -zcf etc.tar.gz /etc &
    [1] 2900
    [root@localhost ~]# tar: 从成员名中删除开头的“/”
    
    [root@localhost ~]#   注释:直接敲回车可以看到后台进程仍在运行
    [1]+  完成                  tar -zcf etc.tar.gz /etc
    [root@localhost ~]# ls
    etc.tar.gz  myShell.sh  shFiles  testfile  testfileb
    [1]+  已停止               top
    [root@localhost ~]# jobs -l
    [1]+  2912 停止 (信号)         top
    [root@localhost ~]# jobs
    [1]+  已停止               top
    
    ...
    
    [2]+  已停止               find /
    [root@localhost ~]# jobs
    [1]-  已停止               top
    [2]+  已停止               find /
    [root@localhost ~]# jobs -l
    [1]-  2912 停止 (信号)         top
    [2]+  2924 停止                  find /
    
    ...
    
    [3]+  已停止               locate /
    [root@localhost ~]# jobs
    [1]   已停止               top
    [2]-  已停止               find /
    [3]+  已停止               locate /
    [root@localhost ~]# jobs -l
    [1]   2912 停止 (信号)         top  注释:[1]代表工作号
    [2]-  2924 停止                  find /  注释:-减号代表倒数第二个放入后台的工作
    [3]+  2944 停止                  locate /  注释:+加号代表最近放入后台的工作

    fg  注释:将+号的工作号恢复到前台执行

    fg %工作号  注释:将指定工作号的工作恢复到前台执行,%可省

    bg  注释:把后台暂停的工作恢复到后台执行,此工作不能有和前台交互,否则不能恢复到后台运行

    [root@localhost ~]# tar -zcf root.tar.gz /  注释:按Ctrl+z放入后台暂停
    tar: 从成员名中删除开头的“/^Z
    [3]+  已停止               tar -zcf root.tar.gz /
    [root@localhost ~]# jobs
    [1]-  已停止               top
    [2]   运行中               tar -zcf root.tar.gz / &
    [3]+  已停止               tar -zcf root.tar.gz /  注释:查看为已停止
    [root@localhost ~]# bg  注释:把后台暂停的工作恢复到后台执行
    [3]+ tar -zcf root.tar.gz / &  注释:显示的&可以看出工作在后台,且为运行状态
    [root@localhost ~]# jobs
    [1]+  已停止               top
    [2]   运行中               tar -zcf root.tar.gz / &
    [3]-  运行中               tar -zcf root.tar.gz / &  注释:查看显示在后台运行中
    [root@localhost ~]# kill -9 2982
    [3]-  已杀死               tar -zcf root.tar.gz /
    [root@localhost ~]# jobs
    [1]+  已停止               top
    [2]-  已杀死               tar -zcf root.tar.gz /

    bg对top命令无效,因为top需要与用户前台交互。


     系统资源查看

    vmstat监控系统资源
    vmstat [刷新延时 刷新次数]

    [root@localhost ~]# vmstat 1 3  注释:1代表每秒刷新,3代表3次,可以看到有3行记录
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     3  0      0 288788   2176 554792    0    0    24    22   63  172  3  0 97  0  0
     0  0      0 288792   2176 554824    0    0     0     0   27   46  0  1 99  0  0
     0  0      0 288792   2176 554824    0    0     0     0   24   39  0  0 100  0  0
    [root@localhost ~]# vmstat 3 9  注释:3秒刷新一次,共显示9次记录(可看到有9行)
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     3  0      0 289088   2176 554792    0    0    24    22   62  170  3  0 97  0  0
     1  0      0 289076   2176 554792    0    0     0     0   28   42  0  0 100  0  0
     0  0      0 289076   2176 554792    0    0     0     0   20   30  0  0 100  0  0
     0  0      0 289076   2176 554792    0    0     0     0   22   33  0  0 100  0  0
     1  0      0 289076   2176 554792    0    0     0     0   20   30  0  0 100  0  0
     0  0      0 289076   2176 554792    0    0     0     0   20   32  0  0 100  0  0
     0  0      0 289076   2176 554792    0    0     0     0   24   35  0  0 100  0  0
     1  0      0 289076   2176 554792    0    0     0     0   21   34  0  0 100  0  0
     0  0      0 289076   2176 554792    0    0     0     0   21   33  0  1 99  0  0
    [root@localhost ~]# vmstat 1  注释:若只有一个数字,则为刷新时间间隔,无限次
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     3  0      0 289092   2176 554792    0    0    23    22   62  170  3  0 97  0  0
     0  0      0 289076   2176 554792    0    0     0     0   26   42  0  0 100  0  0
     0  0      0 289076   2176 554792    0    0     0     0   30   41  0  0 100  0  0
     0  0      0 289076   2176 554792    0    0     0     0   25   39  0  0 100  0  0
     0  0      0 289076   2176 554792    0    0     0     0   23   32  0  1 99  0  0
     0  0      0 289076   2176 554792    0    0     0     0   23   34  0  0 100  0  0
    ^C
    [root@localhost ~]#

     dmesg开机时内核检测信息

    [root@localhost ~]# dmesg|grep CPU
    [    0.000000] smpboot: Allowing 128 CPUs, 127 hotplug CPUs
    [    0.000000] setup_percpu: NR_CPUS:5120 nr_cpumask_bits:128 nr_cpu_ids:128 nr_node_ids:1
    [    0.000000] PERCPU: Embedded 33 pages/cpu @ffff88003c600000 s96728 r8192 d30248 u262144
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=128, Nodes=1
    [    0.000000]  RCU restricting CPUs from NR_CPUS=5120 to nr_cpu_ids=128.
    [    0.000453] CPU: Physical Processor ID: 0
    [    0.000478] mce: CPU supports 0 MCE banks
    [    0.028943] smpboot: CPU0: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz (fam: 06, model: 8e, stepping: 09)
    [    0.029028] core: CPUID marked event: 'cpu cycles' unavailable
    [    0.029029] core: CPUID marked event: 'instructions' unavailable
    [    0.029030] core: CPUID marked event: 'bus cycles' unavailable
    [    0.029031] core: CPUID marked event: 'cache references' unavailable
    [    0.029032] core: CPUID marked event: 'cache misses' unavailable
    [    0.029033] core: CPUID marked event: 'branch instructions' unavailable
    [    0.029033] core: CPUID marked event: 'branch misses' unavailable
    [    0.030768] Brought up 1 CPUs
    [    0.333649] microcode: CPU0 sig=0x806e9, pf=0x1, revision=0x3c

    free查看内存使用状态:

    [root@localhost ~]# free  注释:默认为-k,以KB为单位显示
                  total        used        free      shared  buff/cache   available
    Mem:         999936      153876      289092        6916      556968      639868
    Swap:       4191224           0     4191224
    [root@localhost ~]# free -b
                  total        used        free      shared  buff/cache   available
    Mem:     1023934464   157548544   296030208     7081984   570355712   655245312
    Swap:    4291813376           0  4291813376
    [root@localhost ~]# free -k
                  total        used        free      shared  buff/cache   available
    Mem:         999936      153856      289092        6916      556988      639888
    Swap:       4191224           0     4191224
    [root@localhost ~]# free -m
                  total        used        free      shared  buff/cache   available
    Mem:            976         150         282           6         543         624
    Swap:          4092           0        4092
    [root@localhost ~]# free -g
                  total        used        free      shared  buff/cache   available
    Mem:              0           0           0           0           0           0
    Swap:             3           0           3
    [root@localhost ~]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:           976M        150M        282M        6.8M        543M        624M
    Swap:          4.0G          0B        4.0G

     查看cpu信息:cat /proc/cpuinfo    注释:/proc是内存挂载点,断电就消失。

    /proc目录下还有meminfo文件

    uname查看与内核相关信息

    [root@localhost ~]# uname
    Linux
    [root@localhost ~]# uname -a
    Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    [root@localhost ~]# uname -r  注释:查看内核版本
    3.10.0-514.el7.x86_64
    [root@localhost ~]# uname -s
    Linux
    [root@localhost ~]# file /bin/ls
    /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=3d705971a4c4544545cb78fd890d27bf792af6d4, stripped
    注释:可以看出此系统是64位的

     查看Linux系统发行版:

    [root@localhost ~]# lsb_release -a  注释:如果命令未安装可以用yum -y install lsb来安装
    LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
    Distributor ID: CentOS
    Description:    CentOS Linux release 7.3.1611 (Core) 
    Release:        7.3.1611
    Codename:       Core

     lsof列出进程打开或使用的文件信息

    [root@localhost ~]# lsof -c w  注释:-c列出以指定字符串开头的进程打开的文件
    COMMAND   PID USER   FD      TYPE DEVICE SIZE/OFF NODE NAME
    watchdog/  10 root  cwd       DIR    8,5      263   64 /
    watchdog/  10 root  rtd       DIR    8,5      263   64 /
    watchdog/  10 root  txt   unknown                      /proc/10/exe
    writeback  16 root  cwd       DIR    8,5      263   64 /
    writeback  16 root  rtd       DIR    8,5      263   64 /
    writeback  16 root  txt   unknown                      /proc/16/exe
    [root@localhost ~]# lsof -u xiongjiawei  注释:-u列出某个用户的进程打开的文件
    COMMAND  PID        USER   FD   TYPE DEVICE  SIZE/OFF     NODE NAME
    bash    2651 xiongjiawei  cwd    DIR    8,2       202       67 /home/xiongjiawei
    bash    2651 xiongjiawei  rtd    DIR    8,5       263       64 /
    bash    2651 xiongjiawei  txt    REG    8,5    960392    72354 /usr/bin/bash
    bash    2651 xiongjiawei  mem    REG    8,5 106070960 17079038 /usr/lib/locale/locale-archive
    bash    2651 xiongjiawei  mem    REG    8,5     61752  8433363 /usr/lib64/libnss_files-2.17.so
    bash    2651 xiongjiawei  mem    REG    8,5   2116736  8433345 /usr/lib64/libc-2.17.so
    bash    2651 xiongjiawei  mem    REG    8,5     19344  8433351 /usr/lib64/libdl-2.17.so
    bash    2651 xiongjiawei  mem    REG    8,5    174520  8458487 /usr/lib64/libtinfo.so.5.9
    bash    2651 xiongjiawei  mem    REG    8,5    155064  8433338 /usr/lib64/ld-2.17.so
    bash    2651 xiongjiawei  mem    REG    8,5     26254 25315636 /usr/lib64/gconv/gconv-modules.cache
    bash    2651 xiongjiawei    0u   CHR    4,3       0t0     5947 /dev/tty3
    bash    2651 xiongjiawei    1u   CHR    4,3       0t0     5947 /dev/tty3
    bash    2651 xiongjiawei    2u   CHR    4,3       0t0     5947 /dev/tty3
    bash    2651 xiongjiawei  255u   CHR    4,3       0t0     5947 /dev/tty3
    [root@localhost ~]# lsof -p 228  注释:列出某个PID进程打开的文件
    COMMAND PID USER   FD      TYPE DEVICE SIZE/OFF NODE NAME
    ata_sff 228 root  cwd       DIR    8,5      263   64 /
    ata_sff 228 root  rtd       DIR    8,5      263   64 /
    ata_sff 228 root  txt   unknown                      /proc/228/exe
  • 相关阅读:
    JavaWeb:JSP标准标签库
    SpringMVC:学习笔记(6)——转换器和格式化
    SpringMVC:学习笔记(5)——数据绑定及表单标签
    SpringMVC:学习笔记(1)——理解MVC及快速入门
    SpringMVC:学习笔记(4)——处理模型数据
    SpringMVC:学习笔记(2)——RequestMapping及请求映射
    SpringMVC:学习笔记(3)——REST
    Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
    Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
    隆中对,程序员修炼之道,技术学习前进之路
  • 原文地址:https://www.cnblogs.com/xiongjiawei/p/7400071.html
Copyright © 2020-2023  润新知