Linux常用命令

简介: Linux常用命令

常用监控命令

top

$top
    top - 09:14:56 up 264 days, 20:56,  1 user,  load average: 0.02, 0.04, 0.00
    Tasks:  87 total,   1 running,  86 sleeping,   0 stopped,   0 zombie
    Cpu(s):  0.0%us,  0.2%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.2%st
    Mem:    377672k total,   322332k used,    55340k free,    32592k buffers
    Swap:   397308k total,    67192k used,   330116k free,    71900k cached
    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    1 root      20   0  2856  656  388 S  0.0  0.2   0:49.40 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd
    3 root      20   0     0    0    0 S  0.0  0.0   7:15.20 ksoftirqd/0
    4 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0


  • 第一行

    • 09:14:56 : 系统当前时间
    • 264 days, 20:56 : 系统开机到现在经过了多少时间
    • 1 users : 当前2用户在线
    • load average: 0.02, 0.04, 0.00: 系统1分钟、5分钟、15分钟的CPU负载信息



  • 第二行

    • Tasks:任务;
    • 87 total:很好理解,就是当前有87个任务,也就是87个进程。
    • 1 running:1个进程正在运行
    • 86 sleeping:86个进程睡眠
    • 0 stopped:停止的进程数
    • 0 zombie:僵死的进程数



  • 第三行

    • Cpu(s):表示这一行显示CPU总体信息
    • 0.0%us:用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间。
    • 0.7%sy:内核占用CPU时间百分比
    • 0.0%ni:改变过优先级的进程占用CPU的百分比
    • 99.3%id:空闲CPU时间百分比
    • 0.0%wa:等待I/O的CPU时间百分比
    • 0.0%hi:CPU硬中断时间百分比
    • 0.0%si:CPU软中断时间百分比
    • 注:这里显示数据是所有cpu的平均值,如果想看每一个cpu的处理情况,按1即可;折叠,再次按1;



  • 第四行

    • Men:内存的意思
    • 8175320kk total:物理内存总量
    • 8058868k used:使用的物理内存量
    • 116452k free:空闲的物理内存量
    • 283084k buffers:用作内核缓存的物理内存量



  • 第五行

    • Swap:交换空间
    • 6881272k total:交换区总量
    • 4010444k used:使用的交换区量
    • 2870828k free:空闲的交换区量
    • 4336992k cached:缓冲交换区总量



  • 进程信息

    • 再下面就是进程信息:
    • PID:进程的ID
    • USER:进程所有者
    • PR:进程的优先级别,越小越优先被执行
    • NInice:值
    • VIRT:进程占用的虚拟内存
    • RES:进程占用的物理内存
    • SHR:进程使用的共享内存
    • S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
    • %CPU:进程占用CPU的使用率
    • %MEM:进程使用的物理内存和总内存的百分比
    • TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
    • COMMAND:进程启动命令名称



  • 使用频率最高的是P、T、M,因为通常使用top,我们就想看看是哪些进程最耗cpu资源、占用的内存最多; 注:通过”shift + >”或”shift + <”可以向右或左改变排序列 如果只需要查看内存:可用free命令。只查看uptime信息(第一行),可用uptime命令;
  • 在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况
  • top -Hp 查看指定进程 可通过Threads判断线程数
top -Hp 11757
top - 19:36:11 up 266 days,  2:43,  1 user,  load average: 0.31, 0.18, 0.13
Threads: 115 total,   0 running, 115 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.2 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8010424 total,   733756 free,  5278396 used,  1998272 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  2421932 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
11767 admin     20   0 8204136   4.7g  18876 S  0.3 62.0  32:55.74 java
11757 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:00.00 java
11762 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:32.20 java
11763 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:17.34 java
11764 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:17.36 java
11765 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:17.31 java
11766 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:17.39 java
11768 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:02.17 java
11770 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:02.90 java
11771 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:04.30 java
11772 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:06.85 java
11773 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:00.16 java
11774 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:18.34 java
11796 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   2:27.85 java
11797 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:00.62 java
11798 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:01.35 java
11799 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:00.00 java
11800 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:00.00 java
11801 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   1:32.81 java
11802 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   1:31.72 java
11803 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:22.92 java
11804 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:00.19 java
11805 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:01.67 java
11806 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:01.16 java
11807 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:00.00 java
11808 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   3:57.39 java
11824 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:00.24 java
11855 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:03.40 java
11856 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:01.75 java
11858 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:03.75 java
11868 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:11.62 java
11882 admin     20   0 8204136   4.7g  18876 S  0.0 62.0   0:00.00 java

free

  • 查询可用内存
  • 区分buffer 和 cache
A buffer is something that has yet to be "written" to disk.
A cache is something that has been "read" from the disk and stored for later use.

uptime

uptime
 17:38:53 up 265 days, 46 min,  1 user,  load average: 0.17, 0.09, 0.12
  • 系统时间 运行时间 连接数(每个终端算一个连接) 1,5,15 分钟的系统平均负载(运行队列中的平均进程数)

load average

  • 3个数字的含义:分别表示系统在过去1分钟、5分钟、15分钟内运行进程队列中的平均进程数量。运行队列,没有等待IO,没有WAIT,没有KILL的进程通通都进这个队列。
  • 用交通流量来做类比

    • 1、单核CPU - 单车道 - 数字在0.00-1.00之间正常

      • 0.00-1.00 之间的数字表示此时路况非常良好,没有拥堵,车辆可以毫无阻碍地通过。
      • 1.00 表示道路还算正常,但有可能会恶化并造成拥堵。此时系统已经没有多余的资源了,管理员需要进行优化。
      • 1.00-* 表示路况不太好了,如果到达2.00表示有桥上车辆一倍数目的车辆正在等待。这种情况你必须进行检查了。
    • 2、多核CPU - 多车道 - 数字/CPU核数 在0.00-1.00之间正常

      • 多核CPU的话,满负荷状态的数字为 "1.00 * CPU核数",即双核CPU为2.00,四核CPU为4.00。
    • 单核负载在0.7以下是安全的,超过0.7就需要进行优化了。
    • 看5分钟和15分钟的比较好,即后面2个数字
    • 获得CPU核心数目 grep 'model name' /proc/cpuinfo | wc -l

vmstat

  • 监视内存使用情况,vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可实时动态监视操作系统的虚拟内存、进程、CPU活动。
  • 可对操作系统的虚拟内存、进程、IO 读写、CPU 活动等进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进 行深入分析
  • 可观察每秒上下文切换数
vmstat 2 20
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 731272 169216 1833540    0    0     1     7    0    0  2  1 98  0  0
 0  0      0 731256 169216 1833540    0    0     0    36  742 1312  0  0 100  0  0
 0  0      0 733284 169216 1833540    0    0     0    38 2074 2814  7  2 91  0  0
 0  0      0 733036 169216 1833540    0    0     0     0  724 1293  0  0 100  0  0
 1  0      0 731052 169216 1833540    0    0     0    48 1295 1954  4  1 96  0  0
 0  0      0 731052 169216 1833540    0    0     0     0  720 1301  0  0 100  0  0
 0  0      0 731052 169216 1833540    0    0     0     0  757 1323  0  0 100  0  0
 0  0      0 730804 169216 1833548    0    0     0    36  867 1402  0  0 99  0  0
 0  0      0 730804 169216 1833548    0    0     0    76  774 1332  0  0 100  0  0
 0  0      0 731052 169216 1833552    0    0     0    70 1442 2084  4  1 95  0  0
 1  0      0 727732 169216 1833552    0    0     0    24  867 1429  0  0 99  0  0
 0  0      0 731176 169216 1833552    0    0     0    16 1262 1892  3  1 96  0  0
 0  0      0 731176 169216 1833552    0    0     0     8  769 1300  0  0 100  0  0
 0  0      0 731176 169216 1833552    0    0     0    26  769 1329  0  0 100  0  0
 0  0      0 731176 169216 1833552    0    0     0     4  802 1364  0  0 100  0  0
 0  0      0 731176 169216 1833552    0    0     0     0  693 1272  0  0 100  0  0
 0  0      0 730680 169216 1833552    0    0     0    16 1341 2010  4  1 96  0  0
 0  0      0 730680 169216 1833552    0    0     0    26 1049 1592  1  1 99  0  0
 0  0      0 731548 169216 1833552    0    0     0    16 1341 1980  4  1 95  0  0
 0  0      0 731532 169216 1833552    0    0     0    22  728 1304  0  0 100  0  0

Procs(进程):

  • r: 运行队列中进程数量
  • b: 等待IO的进程数量

Memory(内存):

  • swpd: 使用虚拟内存大小
  • free: 可用内存大小
  • buff: 用作缓冲的内存大小
  • cache: 用作缓存的内存大小

Swap:

  • si: 每秒从交换区写到内存的大小
  • so: 每秒写入交换区的内存大小

IO:(现在的Linux版本块的大小为1024bytes)

  • bi: 每秒读取的块数
  • bo: 每秒写入的块数

system:

  • in: 每秒中断数,包括时钟中断
  • cs: 每秒上下文切换数

CPU(以百分比表示)

  • us: 用户进程执行时间(user time)
  • sy: 系统进程执行时间(system time)
  • id: 空闲时间(包括IO等待时间)
  • wa: 等待IO时间

pidstat

  • 用于细致地观察进程,可监控 CPU、IO、内存。
  • 示例:-p 指定进程,-u 表示监控 CPU(-t 表示监控线程,-d 表示监控磁盘 io 的情况),每秒采样 1 次,共采样 4 次。
  • -u
pidstat -p 11757 -u  1 10
Linux 3.10.0-514.26.2.el7.x86_64 (spider-competitor-1.real.bj.aly)     06/02/2020     _x86_64_    (4 CPU)

07:59:01 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
07:59:02 PM  1000     11757    1.00    0.00    0.00    1.00     3  java
07:59:03 PM  1000     11757    0.00    0.00    0.00    0.00     3  java
07:59:04 PM  1000     11757    0.00    0.00    0.00    0.00     3  java
07:59:05 PM  1000     11757    1.00    0.00    0.00    1.00     3  java
07:59:06 PM  1000     11757    0.00    0.00    0.00    0.00     3  java
07:59:07 PM  1000     11757    0.00    0.00    0.00    0.00     3  java
07:59:08 PM  1000     11757    2.00    0.00    0.00    2.00     3  java
07:59:09 PM  1000     11757    0.00    0.00    0.00    0.00     3  java
07:59:10 PM  1000     11757    1.00    0.00    0.00    1.00     3  java
  • -r 内存使用情况统计
pidstat -p 11757 -r  1 10
Linux 3.10.0-514.26.2.el7.x86_64 (spider-competitor-1.real.bj.aly)     06/02/2020     _x86_64_    (4 CPU)

07:59:35 PM   UID       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
07:59:36 PM  1000     11757      0.00      0.00 8205164 4963196  61.96  java
07:59:37 PM  1000     11757      2.00      0.00 8205164 4963196  61.96  java
07:59:38 PM  1000     11757      1.00      0.00 8205164 4963196  61.96  java
07:59:39 PM  1000     11757      0.00      0.00 8205164 4963196  61.96  java
07:59:40 PM  1000     11757      6.00      0.00 8205164 4963196  61.96  java
07:59:41 PM  1000     11757      0.00      0.00 8205164 4963196  61.96  java
07:59:42 PM  1000     11757      2.00      0.00 8205164 4963196  61.96  java
07:59:43 PM  1000     11757      2.00      0.00 8205164 4963196  61.96  java
07:59:44 PM  1000     11757      0.00      0.00 8205164 4963196  61.96  java

minflt/s: 每秒次缺页错误次数(minor page faults),次缺页错误次数意即虚拟内存地址映射成物理内存地址产生的page fault次数
majflt/s: 每秒主缺页错误次数(major page faults),当虚拟内存地址映射成物理内存地址时,相应的page在swap中,这样的page fault为major page fault,一般在内存使用紧张时产生
VSZ:      该进程使用的虚拟内存(以kB为单位)
RSS:      该进程使用的物理内存(以kB为单位)
%MEM:     该进程使用内存的百分比
Command:  拉起进程对应的命令
  • -d
pidstat -p 11757 -d  1 10
Linux 3.10.0-514.26.2.el7.x86_64 (spider-competitor-1.real.bj.aly)     06/02/2020     _x86_64_    (4 CPU)

07:59:58 PM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
07:59:59 PM  1000     11757      0.00      0.00      0.00  java
08:00:00 PM  1000     11757      0.00      0.00      0.00  java
08:00:01 PM  1000     11757      0.00      0.00      0.00  java
08:00:02 PM  1000     11757      0.00      0.00      0.00  java
08:00:03 PM  1000     11757      0.00      0.00      0.00  java
08:00:04 PM  1000     11757      0.00      0.00      0.00  java
08:00:05 PM  1000     11757      0.00      0.00      0.00  java

kB_rd/s: 每秒进程从磁盘读取的数据量(以kB为单位)
kB_wr/s: 每秒进程向磁盘写的数据量(以kB为单位)
Command: 拉起进程对应的命令
目录
相关文章
|
5天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
1天前
|
监控 Linux Windows
50个必知的Linux命令技巧,你都掌握了吗?(下)
50个必知的Linux命令技巧,你都掌握了吗?(下)
|
2天前
|
Linux Shell Windows
Linux 常用基本命令
Linux 常用基本命令
|
2天前
|
Ubuntu Linux Shell
linux免交互登陆远程主机并执行命令(密钥对和Expect)
linux免交互登陆远程主机并执行命令(密钥对和Expect)
|
2天前
|
Linux
【Linux】常用命令
【Linux】常用命令
21 0
|
2天前
|
安全 Ubuntu Linux
Linux 网络操作命令Telnet
Linux 网络操作命令Telnet
16 0
Linux 网络操作命令Telnet
|
4天前
|
Linux 数据安全/隐私保护
Linux常用命令实例带注释
Linux常用命令实例带注释
30 0
|
4天前
|
Linux 开发工具 数据安全/隐私保护
Linux(19)常用解压命令记录
Linux(19)常用解压命令记录
9 0
|
5天前
|
Linux Perl
Linux系统替换字符串常用命令
请注意,`sed`命令可以非常强大,可以根据不同的需求使用不同的选项和正则表达式来进行更复杂的字符串替换操作。
17 0
|
8天前
|
安全 Linux 开发工具
Linux中可引起文件时间戳改变的相关命令
【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
17 0