Linux日常系统管理命令

  • 运维必备的工具-ss、htop、dstat分析工具

一、监控工具ss命令

ss命令-格式:ss[OPTION]...[FILTER]
netstat通过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag模块通信获取socket信息。

  • 选项:
    -t: tcp协议相关
    -u: udp协议相关
    -w:裸套接字相关
    -x:unixsock相关
    -l: listen状态的连接
    -a:所有
    -n:数字格式
    -p:相关的程序及PID
    -e:扩展的信息
    -m:内存用量
    -o:计时器信息

  • FILTER: [ state TCP-STATE ] [ EXPRESSION]
    TCP的常见状态:tcp finite statemachine:
    LISTEN:监听
    ESTABLISHED:已建立的连接
    FIN_WAIT_1
    FIN_WAIT_2
    SYN_SENT
    SYN_RECV
    CLOSED

  • EXPRESSION:
    dport=
    sport=
    示例:’(dport= :sshorsport= :ssh)’
    常用组合:-tan, -tanl, -tanlp,-uan

  • 示例:
    ss-l显示本地打开的所有端口
    ss-pl显示每个进程具体打开的socket
    ss-t -a显示所有tcpsocket
    ss-u -a显示所有的UDPSocekt
    ss-o stateestablished'( dport= :sshorsport = :ssh)'显示所有已建立的ssh连接
    ss-o stateestablished'( dport = :httporsport = :http )'显示所有已建立的HTTP连接
    ss-s列出当前socket详细信息

二、系统工具uptime

uptime:显示当前时间,系统已启动的时间、当前上线人数,系统平均负载(1、5、1 5分钟的平均负载,一般不会超过1)

系统平均负载:指在特定时间间隔内运行队列中的平均进程数

通常每个CPU内核的当前活动进程数不大于3,那么系统的性能良好。如果每个CPU内核的任务数大于5,那么此主机的性能有严重问题

如果linux主机是1个双核CPU,当LoadAverage为6的时候说明机器已经被充分使用

三、进程管理工具top

top:有许多内置命令

  • 排序:
    P:以占据的CPU百分比,%CPU
    M:占据内存百分比,%
    MEMT:累积占据CPU时长,
    TIME+

  • 首部信息显示:
    uptime信息:l命令
    tasks及cpu信息:t命令
    cpu分别显示:1(数字)
    memory信息:m命令
    退出命令:q
    修改刷新时间间隔:s
    终止指定进程:k
    保存文件:W

  • 栏位信息简介
    us:用户空间
    sy:内核空间
    ni:调整nice时间
    id:空闲
    wa:等待IO时间
    hi:硬中断
    si:软中断(模式切换)
    st:虚拟机偷走的时间

  • 选项:
    -d 3 指定刷新时间间隔,默认为3秒
    -b 全部显示所有进程
    -n 3 刷新多少次后退出(此为3)
    -H线程模式,示例:top-H -p pidofmysqld

  • htop命令:EPEL源
    选项:
    -d 3: 指定延迟时间;
    -u UserName:仅显示指定用户的进程
    -s COLUME:以指定字段进行排序

  • 子命令:
    s:跟踪选定进程的系统调用
    l:显示选定进程打开的文件列表
    a:将选定的进程绑定至某指 定CPU核心
    t:显示进程树

四、系统监控工具dstat

dstat命令:系统资源统计,代替vmstat,iostat

  • dstat [-afv] [options..] [delay[count]]
    -c显示cpu相关信息
    -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:显示延迟最大的进程
posted @ 2019-06-21 13:12  A学无止境A  阅读(150)  评论(0编辑  收藏  举报