• Linux命令:ps,netstat,top


    ps

    ps用于查看当前运行的进程。如果想查看动态的进程信息,可以使用top命令。查看详细命令帮助使用man ps

    ps最常用的选项组合就是ps aux

    # ps aux
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.3  50252 12424 ?        Ss   Mar15  21:41 /usr/lib/systemd/systemd --system --deserialize 21
    root         2  0.0  0.0      0     0 ?        S    Mar15   0:04 [kthreadd]
    root         3  0.0  0.0      0     0 ?        S    Mar15   2:02 [ksoftirqd/0]
    root         5  0.0  0.0      0     0 ?        S<   Mar15   0:00 [kworker/0:0H]
    root         7  0.0  0.0      0     0 ?        S    Mar15   0:18 [migration/0]
    root         8  0.0  0.0      0     0 ?        S    Mar15   0:00 [rcu_bh]
    

    常用选项:

    -a    显示所有的进程,包含每个命令的完整路径
    -x    显示所有系统程序,包括那些没有终端的程序
    -u    显示使用者的名称和起始时间
    

    ps auxps -ef

    两者的输出结果差别不大,但展示风格不同。aux是BSD风格,-ef是System V风格。这是次要的区别,一个影响使用的区别是aux会截断command列,而-ef不会。当结合grep时这种区别会影响到结果。

    netstat

    netstat用于打印网络连接、路由表、连接的数据统计、伪装连接以及广播域成员。

    netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships.

    常见用法:netstat -tulp

    # netstat -tulp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN      1327/master         
    tcp        0      0 0.0.0.0:atmtcp          0.0.0.0:*               LISTEN      1011/monit          
    tcp        0      0 localhost:cslistener    0.0.0.0:*               LISTEN      9870/php-fpm: pool  
    tcp        0      0 0.0.0.0:rsync           0.0.0.0:*               LISTEN      21167/rsync         
    tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      17923/redis-server  
    tcp        0      0 0.0.0.0:8011            0.0.0.0:*               LISTEN      2051/nginx: worker  
    tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN      2051/nginx: worker  
    tcp        0      0 0.0.0.0:9905            0.0.0.0:*               LISTEN      28036/php           
    tcp        0      0 0.0.0.0:9906            0.0.0.0:*               LISTEN      29140/php           
    tcp        0      0 0.0.0.0:search-agent    0.0.0.0:*               LISTEN      6039/lighttpd     
    

    命令选项:

    -a all 默认不显示LISTEN相关
    -t 只列出TCP协议的连接
    -u 只列出UDP协议的连接
    -n number 不显示别名,能显示数字的都用数字显示(禁用反向域名解析,加快查询速度,默认会反查主机名)
    -l listen 仅列出正在监听的服务状态
    -p program 获取进程名、进程号以及用户 ID
    
    -r route 路由信息
    -e extention 扩展信息,比如uid等
    -s statistic 按各个协议进行统计
    -c cycle 每隔一段时间周期执行netstat命令
    

    top

    top命令用于实时查看服务器进程等信息。

    top - 16:31:10 up 493 days, 2:18, 1 user, load average: 3.79, 5.07, 5.00
    Tasks: 134 total, 1 running, 133 sleeping, 0 stopped, 0 zombie
    Cpu(s): 8.9%us, 0.7%sy, 0.0%ni, 89.9%id, 0.2%wa, 0.1%hi, 0.2%si, 0.0%st
    Mem: 32949016k total, 32857500k used, 91516k free, 181172k buffers
    Swap: 32764556k total, 759976k used, 32004580k free, 18778656k cached
     
    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    21902 root 25 0 7732m 6.1g 11m S 73.2 19.4 3257:11 java
    22616 root 21 0 3184m 2.0g 12m S 1.7 6.3 45:44.93 java
    20028 root 22 0 3493m 1.7g 12m S 1.3 5.4 95:23.61 java
    21784 root 15 0 12756 1104 816 R 0.3 0.0 0:00.05 top
    24526 root 20 0 8408m 160m 9524 S 0.3 0.5 7:54.50 java
    1 root 15 0 10364 572 536 S 0.0 0.0 7:53.62 init                                                        
    
    第一行:16:31:10是当时时间,up 493 days是系统已经运行了这么长时间,1 user当前只有1个用户登录了系统,load average后面是1分钟、5分钟、15分钟系统的负载情况。
    
    第二行:当前有134个进行在运行,133个在休眠,0个已停止,0个僵尸。
    
    第三行:8.9%us是用户进行占用cpu的量,0.7%sy是内核进程占用cpu的量。
    

    top命令的常用参数:

    -d   指定每两次屏幕信息刷新之间的时间间隔。
    -p   通过指定监控进程ID来仅仅监控某个进程的状态。
    

    参考:
    1、ps aux 和ps -aux和 ps -ef的选择
    http://doc.okbase.net/足至迹留/archive/118297.html/
    2、netstat 的10个基本用法-技术
    https://linux.cn/article-2434-1.html

  • 相关阅读:
    10-多线程笔记-2-锁-3-Lock-4-工具类
    09-多线程笔记-2-锁-3-Lock-3-ReadWriteLock
    08-多线程笔记-2-锁-3-Lock-2-Lock
    07-多线程笔记-2-锁-3-Lock-1-AQS
    空闲时间无聊写的一个软著源代码文档生成器
    Centos7.x创建lvm
    cups API
    debezium 使用踩坑
    hive 行列转换
    mac 上docker 容器动态暴露端口
  • 原文地址:https://www.cnblogs.com/52fhy/p/5998495.html
Copyright © 2020-2023  润新知