美文网首页
linux shell command整理

linux shell command整理

作者: 码头军 | 来源:发表于2017-06-23 12:43 被阅读0次

    1,lsof:由于linux下一切皆文件,该命令意思是列出打开的文件,因此该命令适用场景很广。

    lsof--显示所有打开的文件

    lsof -u--特定用户打开的文件

    lsof -u^root--排除root用户后的文件列表

    lsof -i --列出所有网络连接

    lsof -i 4 -- lsof - i 6列出ipv4或6的文件

    lsof -i TCP:80--正在监听特定端口的进程

    lsof -i TCP:1-1024--列出正在1-1024端口运行的程序

    lsof -i -u root--特定用户使用的文件和命令

    lsof -p 1 --通过PID搜索

    kill -9 'lsof -t -u ntp'--杀死ntp用户的所有进程

    2,vmstat param1 param2--Every param1 seconds execute a statistics until param2 count.

    [root@vm-10]# vmstat 2 5

    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

    r  b  swpd  free  buff  cache  si  so    bi    bo  in  cs us sy id wa st

    0  0  77808 643596 275088 10217268    0    0    0    3    0    0  1  0 98  0  0

    0  0  77808 644084 275088 10217288    0    0    0    15 1558 1012  3  0 97  0  0

    0  0  77808 643984 275088 10217292    0    0    0    18 1395  671  3  0 97  0  0

    0  0  77808 643984 275088 10217296    0    0    0    39 1596  883  4  0 96  0  0

    0  0  77808 643876 275088 10217304    0    0    0    13 1521  959  3  0 97  0  0

    各参数说明:

    r :表示运行队列,如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高

    b :表示阻塞的进程数

    swpd :虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器

    free :空闲的物理内存的大小

    buff : 系统占用的缓存大小

    cache :直接用来记忆我们打开的文件,给文件做缓冲

    si:每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了

    us :用户CPU时间

    sy :系统CPU时间

    so : 每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。

    sy : 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。

    id : 空闲CPU时间,一般来说,id + us + sy =100

    wt : 等待IO CPU时间。

    3,iotop--实时显示磁盘io和进程。

    4,iostat--io统计。

    5,top-- 执行top后按1,可以显示每个cpu的各个core的使用情况。

    6,ps -o lstart--显示进程启动时间,可以用下面的命令将 cpu 占用率高的线程找出来:

    ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu

    7,pstree -a--按照tree的格式输出进程

    8,free -m -- 显示内存和交换区使用情况

    [root@vm-10]# free -m

    total        used        free      shared  buff/cache  available

    Mem:          15886        4566        4670        778        6648      10126

    Swap:          6193          1        6192

    9,uptime--显示系统持续运行的时间

    10,dstat --top-io --top-bio--显示哪些进程在进行io操作

    11,cat /proc/net/sockstat--查看系统ipv4 socket连接情况,cat /proc/net/sockstat6用于ipv6

    sockets: used 137

    TCP: inuse 49 orphan 0 tw 3272 alloc 52 mem 46

    UDP: inuse 1 mem 0

    RAW: inuse 0

    FRAG: inuse 0 memory 0

    说明:

    sockets: used:已使用的所有协议套接字总量

    TCP: inuse:正在使用(正在侦听)的TCP套接字数量。

    TCP: orphan:无主(不属于任何进程)的TCP连接数(无用、待销毁的TCP socket数)

    TCP: tw:等待关闭的TCP连接数。

    TCP:alloc(allocated):已分配(已建立、已申请到sk_buff)的TCP套接字数量。其值等于netstat —ant | grep ^tcp | wc —l

    TCP:mem:套接字缓冲区使用量(单位不详。用scp实测,速度在4803.9kB/s时:其值=11,netstat —ant 中相应的22端口的Recv-Q=0,Send-Q≈400)

    UDP:inuse:正在使用的UDP套接字数量

    RAW:

    FRAG:使用的IP段数量

    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'--显示不同状态的连接总数

    相关文章

      网友评论

          本文标题:linux shell command整理

          本文链接:https://www.haomeiwen.com/subject/llfccxtx.html