• Linux系统管理之free、w、who、last、lastlog命令讲解


    在我们日常Linux服务器运维过程中,监控服务器内存使用情况,多用户登录情况的查看这两者都是经常要做的运维工作。

    监控系统内存的使用情况命令:free

    free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存,在Linux系统监控的工具中,free命令是最经常使用的命令之一。free命令的基本格式如下:

    $free [选项]

    该命令选项如下表:

    选项 含义
    -b 以Byte为单位显示内存使用情况
    -k 以KB为单位显示内存使用情况
    -m 以MB为单位显示内存使用情况
    -g 以GB为单位显示内存使用情况
    -o 不显示缓冲区调节列
    -s<间隔秒数> 持续观察内存使用状况
    -t 显示内存总和列
    -V 显示版本信息
    使用举例
    • 显示内存使用情况

    我们分别使用freefree -mfree -g三个命令,来看看运行结果:

    image

    上图运行结果中,总共有6列:

    列名 含义
    total 总计物理内存的大小
    used 已使用多大
    free 可用有多少
    shared 多个进程共享的内存总额
    buff/cache 磁盘缓存的大小
    available

    查看登陆用户信息:wwho

    Linux 中,wwho 命令都可以查看服务器上目前已登录的用户信息,两者的区别在于,w 命令除了能知道目前已登陆的用户信息,还可以知道每个用户执行任务的情况。

    • who 命令格式:

    $ who [选项]

    选项 含义
    -a 列出所有信息,相当于所有选项。
    -b 列出系统最近启动的时间日期。
    -l 列出所有可登陆的终端信息。
    -m 仅列出关于当前终端的信息,who -m 命令等同于 who am i。
    -q 列出在本地系统上的用户和用户数的清单。
    -r 显示当前系统的运行级别。
    -s 仅显示名称、线路和时间字段信息,这是 who 命令的默认选项。
    -u 显示当前每个用户的用户名、登陆终端、登陆时间、线路活动和进程标识。
    -T 或 -w 显示 tty 终端的状态,“+”表示对任何人可写,“-”表示仅对 root 用户或所有者可写,“?”表示遇到线路故障。

    who -a

    image

    • w 命令格式:

    $ w [选项]

    选项 含义
    -h 不显示输出信息的标题
    -l 用长格式输出
    -s 用短格式输出,不显示登陆时间,JCPU 和 PCPU 时间
    -V 显示版本信息

    image

    上图是直接执行 w 命令之后输出的结果,第一行显示了当前的系统时间、系统从启动至今已运行的时间、登陆到系统中的用户数和系统平均负载。第二行是用户信息的各列标题,从第三行开始每行代表一个用户。

    第二行输出的各标题含义如下:

    标题 含义
    USER 登录到系统的用户
    TTY 登录终端
    FROM 表示用户从哪里登陆进来
    LOGIN@ 用户登陆的日期和时间。
    IDLE 表示某个程序上次从终端开始执行到现在所持续的时间
    JCPU 和该终端连接的所有进程占用的 CPU 运算时间。这个时间里并不包括过去的后台作业时间,但是包括当前正在运行的后台作业所占用的时间
    PCPU 当前进程所占用的 CPU 运算时间
    WHAT 当前用户正在执行的进程名称和选项,换句话说,就是表示用户当前执行的是什么命令

    查看过去登陆的用户信息:lastlastlog

    lastlastlog 命令都可以查看过去登录的用户信息,它们的区别是last 命令可以查看当前和过去登陆系统用户的相关信息;lastlog 命令可以查看到每个系统用户最近一次登陆系统的时间。

    • last 命令格式如下:

    $ last [选项]

    选项 含义
    -a 把从何处登陆系统的主机名或 IP 地址显示在最后一行
    -R 不显示登陆系统的主机名或 IP 地址
    -x 显示系统关机、重新开机以及执行等级的改变等信息
    -n 显示列数 设置列出信息的显示列数
    -d 将显示的 IP 地址转换成主机名称

    其实在执行 last 命令时,它是去读取 /var/log/wtmp 日志文件,该文件是一个二进制文件,不能直接用 vi 编辑,只能通过 last 命令调用来输出。

    image

    • lastlog 命令,查看登陆过当前系统用户的最近一次登陆时间

    lastlog 命令格式如下:

    $ lastlog [选项]

    image

    lastlog 命令是去读取 /var/log/lastlog 日志文件的,这个文件同样是二进制文件,不能直接用 vi 编辑,需要使用 lastlog 命令调用。

    image

  • 相关阅读:
    对websoceket进行压力测试(一)
    学习springboot的一个网站
    重装mysql数据库
    websocket扫盲:基础知识(二)
    json-lib 之jsonConfig详细使用
    hibernate的like用法(用占位符解决)
    【转载】hibernate查询参数绑定
    Struts2 Anotation action
    PLSQL怎样导出oracle表结构
    从命令行启动oracle服务
  • 原文地址:https://www.cnblogs.com/jiupai-Linux/p/13603230.html
Copyright © 2020-2023  润新知