• linux 命令


    top

    能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

    • 第一行,任务队列信息,同uptime 命令的执行结果

    系统时间:07:27:05
    运行时间:up 1:57 min,
    当前登录用户: 3 user
    负载均衡(uptime) load average: 0.00, 0.00, 0.00 average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
    load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了

    • 第二行, Tasks —— 任务(进程)

    总进程:150 total, 运行:1 running, 休眠:149 sleeping, 停止: 0 stopped, 僵尸进程: 0 zombie

    • 第三行,cpu状态信息

    0.0%us【user space】— 用户空间占用CPU的百分比。
    0.3%sy【sysctl】— 内核空间占用CPU的百分比。
    0.0%ni【】— 改变过优先级的进程占用CPU的百分比
    99.7%id【idolt】— 空闲CPU百分比
    0.0%wa【wait】— IO等待占用CPU的百分比
    0.0%hi【Hardware IRQ】— 硬中断占用CPU的百分比
    0.0%si【Software Interrupts】— 软中断占用CPU的百分比

    • 第四行,内存状态

    1003020k total, 234464k used, 777824k free, 24084k buffers【缓存的内存量】

    • 第五行 swap 交换分区信息

    2031612k total, 536k used, 2031076k free, 505864k cached【缓冲的交换区总量】

    • 第六行 空行

    • 第七行 各进程(任务)的状态监控

    PID — 进程id
    USER — 进程所有者
    PR — 进程优先级
    NI — nice值。负值表示高优先级,正值表示低优先级
    VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    SHR — 共享内存大小,单位kb
    S —进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    %CPU — 上次更新到现在的CPU时间占用百分比
    %MEM — 进程使用的物理内存百分比
    TIME+ — 进程使用的CPU时间总计,单位1/100秒
    COMMAND — 进程名称(命令名/命令行)

    vmstate

    vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。
    一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如:

    root@ubuntu:~# vmstat 2 1
    procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
     1  0      0 3498472 315836 3819540    0    0     0     1    2    0  0  0 100  0
    

    查看多核cpu 命令

    mpstat -P ALL 和 sar -P ALL

    ps

    要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.
    注意:ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。

    du

    Linux du (英文全拼:disk usage)命令用于显示目录或文件的大小。
    du 会显示指定的目录或文件所占用的磁盘空间。
    -a或-all 显示目录中个别文件的大小。
    -b或-bytes 显示目录或文件大小时,以byte为单位。
    -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
    -D或--dereference-args 显示指定符号连接的源文件大小。
    -h或--human-readable 以K,M,G为单位,提高信息的可读性。
    -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
    -k或--kilobytes 以1024 bytes为单位。
    -l或--count-links 重复计算硬件连接的文件。

    losf

    losf 是系统管理/安全的尤伯工具,它是指“列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。

    • 使用-i显示所有连接

    lsof -i

    • 使用-i 6仅获取IPv6流量

    lsof -i 6

    • 仅显示TCP连接(同理可获得UDP连接)

    lsof -iTCP

    • 使用-i:port来显示与指定端口相关的网络信息

    lsof -i :22

    • 使用@host来显示指定到指定主机的连接

    lsof -i@172.16.12.5

    • 使用@host:port显示基于主机与端口的连接

    lsof -i@172.16.12.5:22

    netstat

    netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
    -a或--all 显示所有连线中的Socket。
    -t或--tcp 显示TCP传输协议的连线状况。
    -u或--udp 显示UDP传输协议的连线状况。
    -i 显示网卡列表
    -s 显示网络统计信息
    -l 显示监听的套接口

    free

    Linux free命令用于显示内存状态。
    free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

  • 相关阅读:
    danci8
    禁止选择文本
    danci6
    danci5
    java 学习编译
    自动代码模板文件
    java 学习5 .io
    java 学习4 callback 回调 和泛型
    java 学习3。集合
    java 学习3。类 和 继承
  • 原文地址:https://www.cnblogs.com/wsl-hitsz/p/15006496.html
Copyright © 2020-2023  润新知