• 【Linux命令与工具】系统资源查看——free、uname、dmesg以及netstat


    free:查看内存的使用情况

    用法:

      free [-b|-k|-m|-g] [-t]

    参数:

      -b: 直接输入free时,显示的单位是KB我们可以使用b(bytes), m(MB), k(KB), g(GB) 来显示单位。

      -t: 在输出的最终结果中显示物理内存与swap的总量。

    常见用法:

       

      Mem: 物理内存(1983MB);

      Swap: 虚拟内存(1021MB);

      total:总量;

      used:已被使用的量;

      free:剩余可用的量;

    uname: 查看与内核相关的信息

    参数:

      -a, --all: 所有系统相关的信息,包括下面的数据都会被列出来

      -s, --kernel-name: 系统内核名称

      -n, --nodename: 打印网络节点主机名

      -r, --kernel-release: 内核的版本

      -m: 本系统的硬件名称,例如i686或x86_64等;

      -p: CPU的类型,与-m类似,只是显示的是CPU的类型

      -i: 硬件的平台(ix86)

      -o, --operating-system: 打印操作系统

    dmesg:显示内核开机的信息

      dmesg命令用于打印Linux系统开机启动信息,kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看(print or control the kernel ring buffer)。开机信息亦保存在/var/log/dmesg的文件里。某些硬件设备(比如七号信令卡、语音卡之类)在安装的时候,通常会安装驱动程序(内核模块),会打印一些信息,就可以通过dmesg命令来查看。

      因为dmesg命令输出的东西有点多,通常与less/more/tail/grep等命令配合使用。

      #输出所有的内核开机时的信息

      dmesg | more

      #查找开机时候硬盘相关的信息

      dmesg | grep -i hd

      #查看开始时网卡的信息

      dmesg | grep -i eth

    netstat:跟踪网络

      netstat的输出分为两大部分,分别是网络与系统自己的进程相关性部分。

    用法:

      netstat -[atunlp]

    参数:

      -a: 将目前系统上所有的链接、监听、Socket数据都列出来;

      -t:列出tcp网络数据包的数据;

      -u:列出udp网络数据包的数据;

      -n:不列出进程的服务名称,以端口号(port number)来显示;

      -l:列出目前正在网络监听(listen)的服务;

      -p:列出该网络服务的进程PID。

    在上面的结果中,显示了两个部分:

      (1)Active Internet connections(w/o servers) :表示网络的连接

        Proto:网络的数据包协议,主要分为TCP与UDP数据包。

        Recv-Q:非由用户进程连接到此socket的复制的总字节数;

        Send-Q:非由远程主机传送过来的acknowledeged总字节数;

        LocalAddress:本地的IP端口情况;

        ForeignAddress:远程主机的IP端口情况

        State:连接状态,主要有建立(ESTABLISED)及监听(LISTEN).

      (2)Active UNIX domain sockets(w/o servers): 表示本机上进程间通信的相关的部分

        除了网络上的连接之外,其实Linux系统上面的进程是可以接受不同进程所发送来的信息,那就是Linux上面的(socket file)。socket file可以沟通两个进程之间的信息,因此进程可以取得对方传送过来的数据。由于有socket file,因此类似X Window这种需要网络连接的软件,目前新版的distribution就以socket来进行窗口界面的联机通信了。上面的socket file输出文件字段有:

        Proto:一般就是unix;

        RefCnt:连接到此socket的进程数量

        Flags:连接的标识;

        Type:socket访问的类型。主要有确认连接的STREAM与不需确认的DGARM两种;

        State:若为CONNECTED表示多个进程之间已经建立连接;

        Path:连接到此socket的相关程序的路径,或者是相关数据输出的路径。

    参考文献:

      1. 《鸟哥的Linux私房菜》基础学习篇(第三版)  人民邮电出版社  17.3.4

  • 相关阅读:
    Netty 源码解读(二)-ChannelPipeline、ChannelHandler、ChannelHandlerContext
    Netty源码解读(一)-服务启动和接收请求源码
    浅谈自动化测试框架开发
    程序运行时环境
    常见的Linux内核线程
    一个好用gdb扩展工具
    使用Qemu模拟Numa机器
    使用qemu的nat方式登录
    2021.32 量化
    2021.31 模型
  • 原文地址:https://www.cnblogs.com/vincently/p/4862348.html
Copyright © 2020-2023  润新知