zoukankan      html  css  js  c++  java
  • Linux系统负载查询

    查询Linux系统负载情况,一般需要了解三个方面的信息:

    1、Linux系统配置。如Linux版本号、CPU、内存、网络、磁盘等;

    2、收集系统负载信息的手段。常用的工具包有sysstat和procps等。

    3、查询结果分析。通过工具包获取系统负载信息,要具体分析系统是否负载、某项指标参数是否超标、系统的瓶颈集中哪几项等。

    一、查询Linux系统配置

      查询CPU配置:

    • lscpu命令

        获取CPU架构、是否支持超线程、主频、缓存信息等。当然更详细的信息存储在/proc/cpuinfo文件。

      查询内存配置

    • free命令

        free命令在man文档中的介绍为"Display amount of free and used memory in the system.",free -g 表示用GB显示内存信息,free -m表示用MB显示内存信息。

        回显结果中"Mem: "行表示从OS层面看内存使用情况。"-/+ buffers/cache: "表示从应用程序角度看内存使用情况。

        其中(- buffers/cache) used内存数=[Mem:] used - buffers - cached,反映的是被程序实实在在吃掉消耗的内存;

          (+ buffers/cache) free内存数=[Mem:] free + buffers + cached,反映的是系统中还可以被挪用的内存;

        buffer: A buffer is something that has yet to be "written" to disk.
        cache: A cache is something that has been "read" from the disk and stored for later use.

    二、查询系统负载

    系统平均负载即在特定时间间隔内运行队列中的平均进程数。如果一个进程满足如下条件就会加入到运行队列中,

    1 它没有在等待I/O操作的结果;
    2 它没有主动进入等待状态;
    3 没有被停止,包含等待终止。

     常用查询命令:

     command  descriptions
    uptime tell how long the system has been running.
    top display Linux tasks.
    iostat report central processing unit(cpu) statistics and input/output statistics for device, partitions and network filesystems(NFS).
    vmstat report virtual memory statistics.

    sysstat软件包:包含监测系统性能及效率的一组工具。

    1、cifsiostat用于输出cifs文件系统的读写操作信息。

    2、iostat用于输出CPU、I/O系统和磁盘分区的统计信息,可以用来分析磁盘I/O、带宽等信息。

    3、mpstat用于输出CPU的各种统计信息,可以用于分析程序运行在内核态和用户态的工作情况。

    4、pidstat用于监控被Linux内核管理的单个任务。

    5、sadf用于格式化输出sar的输出数据。

    6、sar用于定时收集系统的各种状态信息,然后可以对系统各个时间点的状态进行监控。

    procps软件包:包含一组提供系统信息的实用程序。

    1、ps用于查看某一时刻的进程。

    2、sysctl用于在运行时配置内核参数。

    3、free用于查询内存和swap信息。

    4、pgrep,pkill用于通过名称和其他属性查找或者发送信号给进程。

    5、pmap用于显示一个或者多个进程所使用的内存数量。

    6、pwdx用于显示一个进程的工作目录。

    7、skill、snice被废弃的命令,由killall、pkill、pgrep替代。

    8、slabtop用于实时显示系统的内核缓存信息。

    9、tload使用图形显示系统的平均负载。

    10、top用于动态显示进程信息。

    11、uptime用于显示系统运行时间和最近1min、5min和10min内的平均负载。

    12、vmstat用于显示processes、memory、paging、block IO、tps、and cpu使用信息,

    13、w显示登录的账户和他们活动情况。

    14、watch定时执行程序,并全屏显示。

    当然还有更多的第三方工具包用于监控Linux系统运行和性能情况,比如atop、htop、iotop等。

    查询当前进程中所有的线程:

    top命令

    top -Hp <pid>

    /proc/<pid>文件

    cat /proc/<pid>/status

    ls /proc/<pid>/task/ | wc -l

    ps命令

    ps hHp <pid> | wc -l

    ps -T -p <pid>

    三、结果分析

      对于通过Linux命令和工具收集到的数据需要理解每个字段的含义 ,用于分析当前系统的负载情况,比如,内存占用过高、CPU繁忙、IO等待时间过长等。

  • 相关阅读:
    linux系统scp和rsync同步命令介绍
    linux系统发现系统变慢
    linux系统centos6和centos7开机流程及定时任务语法
    elasticsearch for windows
    elasticsearch for linux
    Python操作elasticsearch
    elasticsearch之快速上手
    elasticsearch简介
    flask中使用celery
    GoJS
  • 原文地址:https://www.cnblogs.com/HopkinsCybn/p/10014137.html
Copyright © 2011-2022 走看看