linux分析利刃之sar命令详解

基于Laravel与eBPF/XDP构建高性能深度集成应用防火墙 应用层防火墙是Web安全防御的核心组件,它通过在应用层深度解析HTTP/HTTPS流量,识别并拦截SQL注入、跨站脚本等攻击。其工作原理通常基于规则引擎和实时流量分析,对请求内容、频率及上下文进行综合评估。这项技术的核心价值在于能够紧密贴合业务逻辑,实现传统网络防火墙难以完成的精细化访问控制。在实际应用场景中,高性能与低延迟是关键挑战,尤其是在高并发环境下。本文聚焦于如何将eBPF/XDP这一内核层高性能网络数据路径技术,与Laravel应用框架深度集成,构建一个能够实现微秒级网络层拦截、并与业务状态(如用 阅读详情

 

目录

 


回到顶部

 一、sar的概述

    在我使用的众多linux分析工具中,sar是一个非常全面的一个分析工具,可以比较瑞士军刀,对文件的读写,系统调用的使用情况,磁盘IO,CPU相关使用情况,内存使用情况,进程活动等都可以进行有效的分析。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。

话不多说,直接--help查看一下先

复制代码

[root@lgh ~]# sar --help
Usage: sar [ options ] [ <interval> [ <count> ] ]
Options are:
[ -A ] [ -b ] [ -B ] [ -C ] [ -d ] [ -h ] [ -m ] [ -p ] [ -q ] [ -r ] [ -R ]
[ -S ] [ -t ] [ -u [ ALL ] ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ]
[ -I { <int> [,...] | SUM | ALL | XALL } ] [ -P { <cpu> [,...] | ALL } ]
[ -j { ID | LABEL | PATH | UUID | ... } ] [ -n { <keyword> [,...] | ALL } ]
[ -o [ <filename> ] | -f [ <filename> ] ] [ --legacy ]
[ -i <interval> ] [ -s [ <hh:mm:ss> ] ] [ -e [ <hh:mm:ss> ] ]

复制代码

复制代码

-A:所有报告的总和
-u:输出CPU使用情况的统计信息
-v:输出inode、文件和其他内核表的统计信息
-d:输出每一个块设备的活动信息
-r:输出内存和交换空间的统计信息
-b:显示I/O和传送速率的统计信息-R:输出内存页面的统计信息
-y:终端设备活动情况
-w:输出系统交换活动信息
-B:显示换页状态;
-e:设置显示报告的结束时间
-f:从指定文件提取报告
-i:设状态信息刷新的间隔时间
-p:报告每个CPU的状态
-q:平均负载分析

复制代码

 

使用语法:

sar [options] [-A] [-o file] [ <interval> [ <count> ] ]
其中:interval为采样间隔,count为采样次数,默认值是1; -o file表示将命令结果以二进制格式存放在文件中,file 是文件名

回到顶部

二、统计CPU使用情况

sar -u  #统计CPU的使用情况,每间隔1秒钟统计一次总共统计三次:#sar -u 1 3

复制代码

[root@lgh ~]# sar -u 1 3
Linux 2.6.32-696.el6.x86_64 (lgh)   10/06/2019      _x86_64_        (32 CPU)

09:42:45 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
09:42:46 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
09:42:47 PM     all      0.03      0.00      0.03      0.00      0.00     99.94
09:42:48 PM     all      0.03      0.00      0.03      0.00      0.00     99.94
Average:        all      0.02      0.00      0.02      0.00      0.00     99.96

复制代码

复制代码

[root@lgh ~]# sar -o test.txt -u 1 3  #其中-o表示以二进制的格式把结果存入到test.txt文件中,不能使用cat,more,less等查看
[root@lgh ~]# sar -u -f test.txt   #查看该二进制结果文件
Linux 2.6.32-696.el6.x86_64 (lgh)   10/06/2019      _x86_64_        (32 CPU)

09:46:14 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
09:46:15 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
09:46:16 PM     all      0.03      0.00      0.03      0.00      0.00     99.94
09:46:17 PM     all      0.00      0.00      0.03      0.00      0.00     99.97
Average:        all      0.01      0.00      0.02      0.00      0.00     99.97

复制代码

%user #用户空间的CPU使用
%nice 改变过优先级的进程的CPU使用率
%system 内核空间的CPU使用率
%iowait CPU等待IO的百分比
%steal 虚拟机的虚拟机CPU使用的CPU
%idle 空闲的CPU
在以上的显示当中,主要看%iowait和%idle,%iowait过高表示存在I/O瓶颈,即磁盘IO无法满足业务需求,如果%idle过低表示CPU使用率比较严重,需要结合内存使用等情况判断CPU是否瓶颈。

回到顶部

三、平均负载统计分析

sar -q #查看平均负载:其中每间隔1秒钟统计一次总共统计三次  #sar -q 1 3

复制代码

[root@lgh ~]# sar -q 1 3
Linux 2.6.32-696.el6.x86_64 (lgh)   10/06/2019      _x86_64_        (32 CPU)

09:58:39 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
09:58:40 PM         0      1535      0.00      0.03      0.00
09:58:41 PM         0      1535      0.00      0.03      0.00
09:58:42 PM         0      1535      0.00      0.03      0.00
Average:            0      1535      0.00      0.03      0.00

复制代码

runq-sz 运行队列的长度(等待运行的进程数,每核的CP不能超过3个)
plist-sz 进程列表中的进程(processes)和线程数(threads)的数量
ldavg-1 最后1分钟的CPU平均负载,即将多核CPU过去一分钟的负载相加再除以核心数得出的平均值,5分钟和15分钟以此类推
ldavg-5 最后5分钟的CPU平均负载
ldavg-15 最后15分钟的CPU平均负载

回到顶部

四、内存统计分析

sar -r #查看内存使用情况,每间隔1秒钟统计一次总共统计三次:#sar -r 1 3

复制代码

[root@lgh ~]# sar -r 1 3
Linux 2.6.32-696.el6.x86_64 (lgh)   10/06/2019      _x86_64_        (32 CPU)

10:01:15 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
10:01:16 PM 233550984  30597240     11.58    758212  20745900  14822388      5.44
10:01:17 PM 233550836  30597388     11.58    758212  20745900  14822388      5.44
10:01:18 PM 233551972  30596252     11.58    758212  20745900  14822388      5.44
Average:    233551264  30596960     11.58    758212  20745900  14822388      5.44

复制代码

kbmemfree 空闲的物理内存大小
kbmemused 使用中的物理内存大小
%memused 物理内存使用率
kbbuffers 内核中作为缓冲区使用的物理内存大小,kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.
kbcached 缓存的文件大小
kbcommit 保证当前系统正常运行所需要的最小内存,即为了确保内存不溢出而需要的最少内存(物理内存+Swap分区)
commit 这个值是kbcommit与内存总量(物理内存+swap分区)的一个百分比的值

回到顶部

五、统计swap分区

sar -W #查看系统swap分区的统计信息:每间隔1秒钟统计一次总共统计三次:#sar -W 1 3

复制代码

[root@lgh ~]# sar -W 1 3
Linux 2.6.32-696.el6.x86_64 (lgh)   10/06/2019      _x86_64_        (32 CPU)

10:03:21 PM  pswpin/s pswpout/s
10:03:22 PM      0.00      0.00
10:03:23 PM      0.00      0.00
10:03:24 PM      0.00      0.00
Average:         0.00      0.00

复制代码

pswpin/s 每秒从交换分区到系统的交换页面(swap page)数量
pswpott/s 每秒从系统交换到swap的交换页面(swap page)的数量

回到顶部

六、查看磁盘IO

sar -b #查看I/O和传递速率的统计信息,每间隔1秒钟统计一次总共统计三次:#sar -b 1 3

复制代码

[root@lgh ~]# sar -b 1 3
Linux 2.6.32-696.el6.x86_64 (lgh)   10/06/2019      _x86_64_        (32 CPU)

10:06:16 PM       tps      rtps      wtps   bread/s   bwrtn/s
10:06:17 PM     30.00      0.00     30.00      0.00    240.00
10:06:18 PM      0.00      0.00      0.00      0.00      0.00
10:06:19 PM      0.00      0.00      0.00      0.00      0.00
Average:        10.00      0.00     10.00      0.00     80.00

复制代码

tps 磁盘每秒钟的IO总数,等于iostat中的tps
rtps 每秒钟从磁盘读取的IO总数
wtps 每秒钟从写入到磁盘的IO总数
bread/s 每秒钟从磁盘读取的块总数
bwrtn/s 每秒钟此写入到磁盘的块总数

回到顶部

七、查看磁盘使用情况

sar -d #磁盘使用详情统计,每间隔1秒钟统计一次总共统计三次:#sar -d 1 3

复制代码

[root@lgh ~]# sar -d 1 3
Linux 2.6.32-696.el6.x86_64 (lgh)   10/06/2019      _x86_64_        (32 CPU)

10:08:16 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:08:17 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:08:17 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:08:17 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

10:08:17 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:08:18 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:08:18 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:08:18 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

10:08:18 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:08:19 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:08:19 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:08:19 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:       dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

复制代码

DEV 磁盘设备的名称,如果不加-p,会显示dev253-0类似的设备名称,因此加上-p显示的名称更直接
tps:每秒I/O的传输总数
rd_sec/s 每秒读取的扇区的总数
wr_sec/s 每秒写入的扇区的总数
avgrq-sz 平均每次次磁盘I/O操作的数据大小(扇区)
avgqu-sz 磁盘请求队列的平均长度
await 从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒等于1000毫秒),等于寻道时间+队列时间+服务时间
svctm I/O的服务处理时间,即不包括请求队列中的时间
%util I/O请求占用的CPU百分比,值越高,说明I/O越慢

回到顶部

八、网络使用分析

sar -n #统计网络信息
sar -n选项使用6个不同的开关:DEV,EDEV,NFS,NFSD,SOCK,IP,EIP,ICMP,EICMP,TCP,ETCP,UDP,SOCK6,IP6,EIP6,ICMP6,EICMP6和UDP6 ,DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。
1.10.1:sar -n DEV 1 1: 每间隔1秒统计一次,总计统计1次,下面的average是在多次统计后的平均值
#IFACE 本地网卡接口的名称
#rxpck/s 每秒钟接受的数据包
#txpck/s 每秒钟发送的数据库
#rxKB/S 每秒钟接受的数据包大小,单位为KB
#txKB/S 每秒钟发送的数据包大小,单位为KB
#rxcmp/s 每秒钟接受的压缩数据包
#txcmp/s 每秒钟发送的压缩包
#rxmcst/s 每秒钟接收的多播数据包

sar -n EDEV 1 1 #统计网络设备通信失败信息:

复制代码

[root@lgh ~]# sar -n DEV 1 1
Linux 2.6.32-696.el6.x86_64 (lgh)   10/06/2019      _x86_64_        (32 CPU)

10:13:52 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
10:13:53 PM        lo     16.00     16.00      1.86      1.86      0.00      0.00      0.00
10:13:53 PM      eth0    132.00     25.00     14.28      2.34      0.00      0.00      0.00
10:13:53 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:13:53 PM      eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:13:53 PM      eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:           lo     16.00     16.00      1.86      1.86      0.00      0.00      0.00
Average:         eth0    132.00     25.00     14.28      2.34      0.00      0.00      0.00
Average:         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00

复制代码

IFACE 网卡名称
rxerr/s 每秒钟接收到的损坏的数据包
txerr/s 每秒钟发送的数据包错误数
coll/s 当发送数据包时候,每秒钟发生的冲撞(collisions)数,这个是在半双工模式下才有
rxdrop/s 当由于缓冲区满的时候,网卡设备接收端每秒钟丢掉的网络包的数目
txdrop/s 当由于缓冲区满的时候,网络设备发送端每秒钟丢掉的网络包的数目
txcarr/s 当发送数据包的时候,每秒钟载波错误发生的次数
rxfram 在接收数据包的时候,每秒钟发生的帧对其错误的次数
rxfifo 在接收数据包的时候,每秒钟缓冲区溢出的错误发生的次数
txfifo 在发生数据包 的时候,每秒钟缓冲区溢出的错误发生的次数
1.10.3:sar -n SOCK 1 1 #统计socket连接信息

sar -n SOCK 1 1 #统计socket连接信息
totsck 当前被使用的socket总数
tcpsck 当前正在被使用的TCP的socket总数
udpsck 当前正在被使用的UDP的socket总数
rawsck 当前正在被使用于RAW的skcket总数
if-frag 当前的IP分片的数目
tcp-tw TCP套接字中处于TIME-WAIT状态的连接数量
########如果你使用FULL关键字,相当于上述DEV、EDEV和SOCK三者的综合

sar -n TCP 1 3 #TCP连接的统计
active/s 新的主动连接
passive/s 新的被动连接
iseg/s 接受的段
oseg/s 输出的段

sar -n 使用总结

-n DEV : 网络接口统计信息。
-n EDEV : 网络接口错误。
-n IP : IP数据报统计信息。
-n EIP : IP错误统计信息。
-n TCP : TCP统计信息。
-n ETCP : TCP错误统计信息。
-n SOCK : 套接字使用。

回到顶部

九、进程,文件状态

sar -v #进程、inode、文件和锁表状态 ,每间隔1秒钟统计一次总共统计三次:#sar -v 1 3

复制代码

[root@lgh ~]# sar -v 1 3
Linux 2.6.32-696.el6.x86_64 (lgh)   10/06/2019      _x86_64_        (32 CPU)

10:17:06 PM dentunusd   file-nr  inode-nr    pty-nr
10:17:07 PM   2165205      5440    371435         1
10:17:08 PM   2165205      5440    371434         1
10:17:09 PM   2165205      5440    371434         1
Average:      2165205      5440    371434         1

复制代码

dentunusd 在缓冲目录条目中没有使用的条目数量
file-nr 被系统使用的文件句柄数量
inode-nr 已经使用的索引数量
pty-nr 使用的pty数量


###这里面的索引和文件句柄值不是ulimit -a查看到的值,而是sysctl.conf里面定义的和内核相关的值, max-file表示系统级别的能够打开的文件句柄的数量, 而ulimit -n控制进程级别能够打开的文件句柄的数量,可以使用sysctl -a | grep inode和sysctl -a | grep file查看,具体含义如下:
file-max中指定了系统范围内所有进程可打开的文件句柄的数量限制(系统级别, kernel-level)。 (The value in file-max denotes the maximum number of file handles that the Linux kernel will allocate)。当收到"Too many open files in system"这样的错误消息时, 就应该曾加这个值了。

复制代码

# cat /proc/sys/fs/file-max
4096
# echo 100000 > /proc/sys/fs/file-max
或者
# echo ""fs.file-max=65535" >> /etc/sysctl.conf
# sysctl -p

复制代码

file -nr 可以查看系统中当前打开的文件句柄的数量。 他里面包括3个数字: 第一个表示已经分配了的文件描述符数量, 第二个表示空闲的文件句柄数量, 第三个表示能够打开文件句柄的最大值(跟file-max一致)。 内核会动态的分配文件句柄, 但是不会再次释放他们(这个可能不适应最新的内核了, 在我的file-nr中看到第二列一直为0, 第一列有增有减)
man bash, 找到说明ulimit的那一节:提供对shell及其启动的进程的可用资源(包括文件句柄, 进程数量, core文件大小等)的控制。 这是进程级别的, 也就是说系统中某个session及其启动的每个进程能打开多少个文件描述符, 能fork出多少个子进程等... 当达到上限时, 会报错"Too many open files"或者遇上Socket/File: Can’t open so many files等

回到顶部

十、常用命令

复制代码

默认监控: sar 5 5     //  CPU和IOWAIT统计状态 
(1) sar -b 5 5        // IO传送速率
(2) sar -B 5 5        // 页交换速率
(3) sar -c 5 5        // 进程创建的速率
(4) sar -d 5 5        // 块设备的活跃信息
(5) sar -n DEV 5 5    // 网路设备的状态信息
(6) sar -n SOCK 5 5   // SOCK的使用情况
(7) sar -n ALL 5 5    // 所有的网络状态信息
(8) sar -P ALL 5 5    // 每颗CPU的使用状态信息和IOWAIT统计状态 
(9) sar -q 5 5        // 队列的长度(等待运行的进程数)和负载的状态
(10) sar -r 5 5       // 内存和swap空间使用情况
(11) sar -R 5 5       // 内存的统计信息(内存页的分配和释放、系统每秒作为BUFFER使用内存页、每秒被cache到的内存页)
(12) sar -u 5 5       // CPU的使用情况和IOWAIT信息(同默认监控)
(13) sar -v 5 5       // inode, file and other kernel tablesd的状态信息
(14) sar -w 5 5       // 每秒上下文交换的数目
(15) sar -W 5 5       // SWAP交换的统计信息(监控状态同iostat 的si so)
(16) sar -x 2906 5 5  // 显示指定进程(2906)的统计信息,信息包括:进程造成的错误、用户级和系统级用户CPU的占用情况、运行在哪颗CPU上
(17) sar -y 5 5       // TTY设备的活动状态
(18) 将输出到文件(-o)和读取记录信息(-f)

 

Linux性能分析神器:sar命令详解(附实战示例+常见问题排查) sar命令是Linux系统性能监控的瑞士军刀,但很多开发者对它的使用仅停留在表面。本文将深入解析sar命令的原理、常用场景、实战技巧,并附赠高频问题排查指南,助你快速定位系统性能瓶颈! 阅读详情

相关推荐

Linux系统运维:性能监视和分析工具sar命令详解

sar是一个优秀的性能分析工具,用于收集、报告和分析系统活动。它可以输出Linux所完成的几乎所有工作的数据。sar可以显示CPU、运行队列、磁盘I/O、分页(交换区)、内存、CPU中断、网络等性能数据。可以访问https://sysstat.github.io/ 获取版本和下载信息。sar的工作原理主要是通过读取和解析系统日志文件或使用专门的数据收集器来收集系统性能数据。Sar获取的数据对于系统管理员和性能调优人员来说非常重要,可以帮助他们了解系统的运行状况、识别瓶颈和问题,并采取相应的优化措施。

weixin_70208651的博客 7502

Linux性能监控之sar命令

sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。 0.语法格式 sar [ 选项 ] [ <时间间隔> [ <次...

WinJay 605

从OpenClaw到Hermes Agent:AI Agent实战部署与自动化工作流构建

AI Agent(智能体)作为大语言模型(LLM)的能力延伸,其核心原理在于通过工具调用(Tool Calling)与环境交互,使模型从“对话”走向“执行”。这一技术价值在于将自然语言指令转化为具体操作,实现业务流程自动化,从而提升开发与运维效率。在应用场景上,AI Agent广泛适用于自动化运维、智能客服、数据报告生成等重复性任务处理。本文聚焦于两大热门开源框架OpenClaw与Hermes Agent,深入探讨其部署配置、技能扩展及实战联调。通过结合OpenClaw的模块化扩展能力与Hermes Age

weixin_34122810的博客 506

linux 下的sar工具命令小结

    sar这东西,一开始还以为是内部有的,原来是外部的工具,可以到http://pagesperso-orange.fr/sebastien.godard/download.html去下载 1 安装   tar zxvf  xxx.tar.gz  ./configure   make    make install 2  使用   pidstat 2

jackyrongvip的专栏 858

Profinet从站开发初体验:用p-net开源库和树莓派快速搭建一个IO设备模拟器

本文详细介绍了如何使用p-net开源库和树莓派快速搭建Profinet从站IO设备模拟器。从开发环境准备、p-net源码编译到设备模拟器功能实现,提供了全流程实战指南,帮助开发者快速掌握工业通信协议开发技巧,适用于工业自动化领域的设备互联测试与验证。

weixin_30384217的博客 383

基于 MATLAB 的综合能源系统建模:全面解析与案例应用 

本文详细介绍了基于 MATLAB 的综合能源系统建模相关知识,包括 MATLAB 在综合能源建模中的优势、综合能源系统各组件和网络的建模方法,并通过园区综合能源系统的案例展示了从建模到优化调度求解以及结果分析的全过程。在当今全球能源格局深刻变革的背景下,综合能源系统(Integrated Energy System,IES)作为一种创新的能源供应体系,整合了多种能源形式,如电力、热力、燃气等,以实现能源的高效生产、传输、分配和利用。需要考虑燃气的压力、流量特性以及管道的阻力特性等。

qq_57128262的博客 1339

linux基础知识-sar详解

sar(System Activity Reporter系统活动情况报告)是目前Linux比较全的系统性能分析工具之一,可以从多方面对系统的活动进行报告 ,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状态、进程活动有IPC有关的活动等。 sar 还可以配置配置信息收集历史指标。

晴空的博客 7405

HFSS的边界条件与激励方式

在电磁场理论学习中我们知道,电磁场问题的求解都归结于麦克斯韦(Maxwell)方程组的求解,在HFSS中波动方程的求解同样是由微分形式的麦克斯韦方程推导出来的。而边界条件定义了求解区域的边界以及不同物体交界处的电磁场特性,是求解麦克斯韦方程的基础。 只有在假定场矢量是单值、有界、并且沿空间连续分布的前提下,微分形式的麦克斯韦方程组才是有效的;而在求解区域的边界,不同介质的交界处和场源处,场矢量是不连续的,那么场的导数也就失去了意义。 边界条件就是定义跨越不连续边界处的电磁场特性,因此,正确地理解、定义并

ASH_GUARDIAN的博客 1万+

linux常用命令之sar

默认监控: sar 5 5 // CPU和IOWAIT统计状态 (1) sar -b 5 5 // IO传送速率 (2) sar -B 5 5 // 页交换速率 (3) sar -c 5 5 // 进程创建的速率 (4) sar -d 5 5 // 块设备的活跃信息 (5) sar -n DEV 5 5 // 网路设备的状态信...

波哥在路上 1666

实战:从零构建第一个 HarnessAgent

本文介绍了如何从零构建第一个HarnessAgent项目。主要内容包括:1) 环境准备,要求JDK17+和Maven3.8+;2) 项目结构说明;3) 快速入门示例,包含工作区初始化、模型构建、Agent配置和对话演示;4) 多轮对话场景模拟。关键点在于通过sessionId实现对话状态保持,利用自动记忆沉淀和工作区持久化实现对话历史恢复。项目还展示了对话压缩配置,可在消息数达到阈值时自动压缩并保留关键事实,体现了HarnessAgent的核心能力。

公众号:AI前沿侦探 379

Windows Docker Desktop部署MaxKB详细教程

MaxKB(Max Knowledge Base)是一款基于大语言模型(LLM)和检索增强生成(RAG)技术的开源知识库问答系统,旨在帮助企业、教育机构及研究组织高效管理知识并提供智能问答服务。

猿小白的博客 1376

Linux性能调优之sar详解

sar是一个采集,报告和存储计算机负载信息的工具。有的时候,我们要通过对系统的cpu负载等性能数值的查看,来判排查系统产生某种故障(经常死机或者运行速度突然变慢)的原因。但是,简单的top,uptime,w等命令只可以查看当前的负载,而无法查看过去的某一时间段的cpu的负载情况。下面就介绍一个用于性能分析的命令,其可以用于查看过去的某一时间段的cpu的负载情况(系统性能)。查看某一时间段的cpu使用情况,请直接跳到查看sa日志。%usr:CPU在用户模式下,执行进程的时间百分比%nice。

zyqash的博客 7589

Qt 【window udp 高频采集丢包问题】

使用Asio + 无锁队列或者环形缓存区方案可以解决 qt udp 在window平台高速采集 (128k)丢包问题。

weixin_45397344的博客 177

Linux命令--统计多项--sar--使用/教程/实例

原文网址: 简介 说明 sar(System Activity Reporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。 一般Linux没有默认安装此命令,需要手动安装。sar在sysstat包里,安装sysstat即可。 第一次用sar命令会报如下错误:“无法打开 /var/...

IT利刃出鞘的博客 2221

第6章: MMU Notifier在KVM虚拟化中的应用

本文分析了KVM如何利用MMU Notifier机制维护客户机与宿主机地址映射一致性。KVM采用三层地址空间转换架构(GVA→GPA→HPA),通过硬件辅助虚拟化(EPT/NPT)实现高效转换。重点探讨了KVM MMU Notifier回调实现,包括invalidate_range_start/end等核心函数,以及HVA范围处理流程。当宿主机内存变化时,KVM通过注册的notifier回调及时更新映射关系,确保虚拟化环境的内存一致性。文章详细解析了相关数据结构和关键代码实现,揭示了KVM内存管理的核心机制

图形/计算GPU的驱动与虚拟化技术分享园地 2326

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

linux重要命令

系统命令工具 进程间通信设施状态 ipcs 虚拟内存统计工具 vmstat Linux系统运行时长 uptime CPU平均负载和磁盘活动 iostat 监控,收集和汇报系统活动 sar 监控多处理器使用情况 mpstat 监控进程的内存使用情况 pmap 进程监控工具 atop 控制台的流量监控工具 vnstat 系统进程状态 ps 详细网络流量分析 tcpdump 内存使用状态 free 系统管理员调优和基准测量工具 nmon 密切关注Linux系统 glances 查看系

ptgood的博客 182

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

优化命令之Sar命令

sar(System Activity Reporter, 系统活动情况报告): 是用于监控Linux系统各个性能的优秀工具,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。 options:命令行选项 interval: 采样周期,单位是秒 count:采样次数,默认值是连续采样例如: 二、Sar常用性能数据 整体CPU使用统计 各个CPU使用统计 内存使用情况统计 整体I/O情况 各个I/O设备情况 网络统计 三、CPU资源监控 1、整

qq_45088125的博客 3339

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

linux 性能监控 sar命令

sar命令 目录 sar命令 语法格式 1.查看CPU使用情况 sar -u 2.将统计结果保存到文件 sar -o & sar -f 3.查看平均负载 sar -q 4.查看内存使用情况 sar -r 5.查看系统swap分区统计情况 sar -W 6.查看IO和传递速率 sar -b 7.查看磁盘使用情况 sar -d 8. 统计网络信息 sar ...

博客 6万+

Linux命令(141)之sar

linux命令之sar介绍

z19861216的博客 4583

SAR命令详细用法

一、sysstat工具简介 sysstat是  Linux系统中的常用工具包。它的主要用途是观察服务负载,比如CPU和内存的占用率、网络的使用率以及磁盘写入和读取速度等。 sysstat 工具包中包含两类工具: ·        即时查看工具:iostat、mpstat、sar ·        累计统计工具:sar 也就是说,sar具有这两种功能。因此,sar是 sysstat

danielmoore的博客 3万+

SAR命令简介

SAR命令简介 sar是系统活动报告(System Activity Report)英文单词的首字母缩写。就像它的名字一样,sar是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。 我们可以使用sar命令来获得整个系统性能的报告。这有助于我们定位系统性能的瓶颈,并且有助于我们找出这些烦人的性能问题的解决方法。 为什么一开始我就说sar是一个复杂而又麻烦的命令呢?这并

congguanliu5887的博客 1717

linux性能监控工具sar,详细介绍Linux下的监控工具:sar命令

我决定把今年装x的机会,留给sar命令。它是一个Linux下的监控工具,一直站在鄙视链的顶端。之所以让人望而生畏,主要是由于它繁多的参数。但,这么强大的命令,并非无章可循,实际上是非常简单的。sar命令很简单,它的参数主要分为四部分。其中,第二部分和第三、四部分,是可选的,也就是说,最终要的参数,就剩下一个,那就是类型。这个参数的值非常的多,我们暂且放在一边,看一下以上命令的简单意义。类型,也就是...

weixin_36084130的博客 1589

Linux命令之sar命令

sar(System ActivityReporter系统活动情况报告)命令用于收集、报告或保存系统活动信息。sar命令将操作系统中选定的累积活动计数器的内容写入标准输出。会计系统基于计数和间隔参数中的值,以秒为单位按指定间隔写入指定次数的信息。如果interval参数设置为零,则sar命令将显示自系统启动以来的平均统计数据。如果指定的间隔参数没有count参数,则会连续生成报告。除了显示在屏幕上,还可以将所选数据保存在-o filename标志指定的文件中。如果省略文件名,sar将使用标准的系统活动每日数

月生的静心苑 9016

java sar包_jar、sar 、ear、war、tar 详细说明

下面是对sar的详细说明:This tips explains how to create and deploy the SAR file in the JBoss. SAR files are only used in the JBoss application server. It cannot be used in the other application server environme...

weixin_42523792的博客 1522
上一篇: TCP 这几个参数
下一篇: elasticsearch 性能优化
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值