linux c++ 获取当前时间毫秒_Linux性能监控工具sysstat 安装使用

Sysstat,目前已经发布最新的12.1.6版本,Sysstat是一种在Linux系统服务器中常用的软件工具包,可以用来监控服务器的性能。比如可以监控CPU、硬盘、网络等数据,我们可以用来进行分析服务器的性能和资源的使用效率。我们将在在这篇文章中学习、使用Sysstat监控工具包的安装和常用命令。 Linux下,我们多用ssh链接服务器远程操控。对于系统的监控必不可少,sysstat很不错的监控工具包。 对sysstat做一个介绍:“SYSSTAT是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如CPU使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们判断系统是否正常运行,是提高系统运行效率、安全运行服务器的得力助手”。 b2c268477d8ae8638443400966555e05.png

Linux下Sysstat性能监控工具的安装

目前主流的Linux系统里都自带有sysstat的集成包 1、Ubuntu下安装方法见 sysstat 12.1.3 发布这篇文章  https://www.linuxidc.com/Linux/2019-02/156951.htm 或者 apt-get install sysstat 2、Git安装包安装 yum install -y git git clone git://github.com/sysstat/sysstat cd sysstat ./configure make &&make install CentOS/Red Hat平台下我们可以通过下列命令安装: yum -y install sysstat 3、检查是否成功(截止2019年8月15日,sysstat 最新版本为12.1.6),安装完毕之后,用命令检查是否可以看到当前版本。 linuxidc@linuxidc:~/www.linuxidc.com$ sar -V sysstat 版本 12.1.6 (C) Sebastien Godard (sysstat orange.fr) 如下图: 902b007970219786240a8d0b094ea60d.png 看到上图,就表示Sysstat安装成功。

Linux下sysstat使用方法:

主要说明其所包含的工具sadc、sdaf、sar、iostat、mpstat的用法。 查看命令的参数:  xxx --help [ [ ] ] [ ] 间隔 s          次数                输出文件

1、iostat

linuxidc@linuxidc:~/www.linuxidc.com$ iostat --help 用法: iostat [ 选项 ] [ [ ] ] 选项: [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -s ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ --dec={ 0 | 1 | 2 } ] [ --human ] [ -o JSON ] [ [ -H ] -g ] [ -p [ [,...] | ALL ] ] [ [...] | ALL ] 如下图: f8b1ed01abfb65ed77b99579d6030a9f.png 参数释义: -c : 仅显示cpu的状态 -d : 仅显示存储设备的状态,不可以和-c一起使用 -k :默认显示的是读入读出的block信息,用-k可以改成KB大小来显示 -m -t  : 显示日期 -p device | ALL : device为某个设备或者某个分区,如果使用ALL,就表示要显示所有分区和设备的信息 示例:
linuxidc@linuxidc:~/www.linuxidc.com$ iostat -c 1 3Linux 5.2.5-050205-generic (linuxidc)     08/15/2019     _x86_64_    (1 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle4.28    0.07    5.65    9.88    0.00   80.12avg-cpu:  %user   %nice %system %iowait  %steal   %idle6.78    0.00   27.97    0.00    0.00   65.25avg-cpu:  %user   %nice %system %iowait  %steal   %idle2.00    0.00    4.00    0.00    0.00   94.00
-x 显示扩展状态,显示出更多内容 linuxidc@linuxidc:~/www.linuxidc.com$ iostat -x Linux 5.2.5-050205-generic (linuxidc)  08/15/2019  _x86_64_ (1 CPU) avg-cpu:  %user  %nice %system %iowait  %steal  %idle           4.25    0.07    5.53    9.61    0.00  80.55 如下图: 02f8218824d4cd21b663d185ae7c387b.png 说明: rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s rsec/s: 每秒读扇区数。即 delta(rsect)/s wsec/s: 每秒写扇区数。即 delta(wsect)/s rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算) wkB/s: 每秒写K字节数。是 wsect/s 的一半。(需要计算) avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio) avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。 await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio) svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio) %util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。 delta(use)/s/1000 (因为use的单位为毫秒)如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。 idle小于70% IO压力就较大了,一般读取速度有较多的wait.  #CPU空闲等待时间

2、mpstat

mpstat 用于多处理器系统中的CPU的利用率的统计。细化到具体某个cpu的状态时可以使用参数-P,处理器的ID从0开始 linuxidc@linuxidc:~/www.linuxidc.com$ mpstat --help 用法: mpstat [ 选项 ] [ [ ] ] 选项: [ -I { SUM | CPU | SCPU | ALL } ] [ -N { | ALL } ] [ --dec={ 0 | 1 | 2 } ] [ -o JSON ] [ -P { | ALL } ] 68e547abc566bf5afcbc5ef39ad6817b.png linuxidc@linuxidc:~/www.linuxidc.com$ mpstat -P 0 1 2 cb6d7ad8cb1a393542bde9537329f4a6.png 说明: %user    显示在用户级别(application)运行使用 CPU 总时间的百分比。 %nice    显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。 %system 在核心级别(kernel)运行所使用 CPU 总时间的百分比。 %iowait 显示用于等待I/O操作占用 CPU 总时间的百分比。 %irq   显示在interval时间段内,硬中断占用的CPU总时间。 %soft  显示在interval时间段内,软中断占用的CPU总时间。 %steal   管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比。 %idle    显示 CPU 空闲时间占用CPU总时间的百分比。 intr/s 在internal时间段里,每秒CPU接收的中断的次数。

3、sadc

sadc 位于/usr/local/lib/sa/目录中(Ubuntu 18.04 LTS),如果你没有设置可执行路径,要用绝对路径来运行。 sdac只是一个搜集写入工具,并不直接回显于屏幕上。sadc 是把数据写在一个二进制的文件中,如果想查看数据内容,需要用sadf工具来显示。 linuxidc@linuxidc:~/www.linuxidc.com$ /usr/local/lib/sa/sadc --help 用法: /usr/local/lib/sa/sadc [ 选项 ] [ [ ] ] [ ] 选项: [ -C ] [ -D ] [ -F ] [ -f ] [ -L ] [ -V ] [ -S { INT | DISK | IPV6 | POWER | SNMP | XDISK | ALL | XALL } ] 如下图: 4d70482283ebb8fe9cf596d6bcc0f028.png 注意:此工具中的参数都是可选的,如果没有指定任何参数 比如 /usr/local/lib/sa/sadc - (后面的“-”是必须的,少了会出乱码和报错),则会输出数据到 /var/log/sa/目录下的一个文件中。 0b88bee99f6412b6a2c44dd00475e606.png 要通过sadf 或sar工具来查看。 linuxidc@linuxidc:~/www.linuxidc.com$ ll /var/log/sa/ 总用量 12 drwxr-xr-x  2 root root  4096 Aug 15 01:54 ./ drwxrwxr-x 18 root syslog 4096 Aug 15 01:26 ../ -rw-r--r--  1 root root  1064 Aug 15 02:42 sa15 linuxidc@linuxidc:~/www.linuxidc.com$ sadf /var/log/sa/sa15 linuxidc -1 2019-08-15 06:54:24 UTC LINUX-RESTART (1 CPU) linuxidc -1 2019-08-15 07:20:40 UTC LINUX-RESTART (1 CPU) linuxidc -1 2019-08-15 07:42:44 UTC LINUX-RESTART (1 CPU)

4、sadf

sadf 能从二进制文件中提取sar所收集的数据;显示的格式不如sar直观,其主要用于导出为csv、xml等格式的文件,方便导入数据库或excel等程序. linuxidc@linuxidc:~/www.linuxidc.com$ sadf --help 用法: sadf [ 选项 ] [ [ ] ] [ | -[0-9]+ ] 选项: [ -C ] [ -c | -d | -g | -j | -l | -p | -r | -x ] [ -H ] [ -h ] [ -T | -t | -U ] [ -V ] [ -O [,...] ] [ -P { [,...] | ALL } ] [ --dev= ] [ --fs= ] [ --iface= ] [ -s [ ] ] [ -e [ ] ] [ -- ] 如下图: 6e08bdaea68f7d50dc91c3ce543381c3.png

5、sar

sar 工具比较强大,既能收集系统CPU、硬盘、动态数据,也能显示动态显示,更能查看二进制数据文件;sar 的应用比较多,而且也比较复杂,数据更为精确。我们只了解一下常用的内容就行,大多数内容我们了解就行。 linuxidc@linuxidc:~/www.linuxidc.com$ sar --help 用法: sar [ 选项 ] [ [ ] ] 主要选项和报告(报告名以方括号分隔):  -B 分页状况 [A_PAGE]  -b I/O 和传输速率信息状况 [A_IO]  -d 块设备状况 [A_DISK]  -F [ MOUNT ]   文件系统统计信息 [A_FS]  -H 巨大页面利用率 [A_HUGE]  -I { | SUM | ALL }   中断信息状况 [A_IRQ]  -m { [,...] | ALL }   电源管理统计信息 [A_PWR_...]   关键字:   CPU CPU 瞬时时钟频率   FAN 风扇速度 ...... 如下图: 26cff21516df39ed77a9931dc8f4057b.png 参数说明: -A 显示所有历史数据,通过读取/var/log/sar目录下的所有文件,并把它们分门别类的显示出来; -b 通过设备的I/O中断读取设置的吞吐率; -B 报告内存或虚拟内存交换统计; -c 报告每秒创建的进程数; -d 报告物理块设备(存储设备)的写入、读取之类的信息,如果直观一点,可以和p参数共同使用,-dp -f 从一个二进制的数据文件中读取内容,比如 sar -f filename -i interval 指定数据收集的时间,时间单位是秒; -n 分析网络设备状态的统计,后面可以接的参数有 DEV、EDEV、NFS、NFSD、SOCK等。比如-n DEV -o 把统计信息写入一个文件,比如 -o filename ; -P 报告每个处理器应用统计,用于多处理器机器,并且启用SMP内核才有效; -p 显示友好设备名字,以方便查看,也可以和-d和-n 参数结合使用,比如 -dp 或-np -r 内存和交换区占用统计; -R -t 这个选项对从文件读取数据有用,如果没有这个参数,会以本地时间为标准 读出; -u 报告CPU利用率的参数; -v 报告inode,文件或其它内核表的资源占用信息; -w 报告系统交换活动的信息;每少交换数据的个数; -W 报告系统交换活动吞吐信息; #高版本新加的 -x 用于监视进程的,在其后要指定进程的PID值; -X 用于监视进程的,但指定的应该是一个子进程ID 注:如果只用sar 命令,sar就是读取 /var/log/sa目录下最近系统状态文件。sar -A 读取/var/log/sa目录下所有文件数据。
linuxidc@linuxidc:~/www.linuxidc.com$ sar -u 1 5Linux 5.2.5-050205-generic (linuxidc)     08/15/2019     _x86_64_    (1 CPU)02:57:46 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle02:57:47 AM     all      0.00      0.00      2.04      0.00      0.00     97.9602:57:48 AM     all      8.25      0.00      5.15      0.00      0.00     86.6002:57:49 AM     all      2.08      0.00      0.00      0.00      0.00     97.9202:57:50 AM     all     27.27      0.00     12.12      0.00      0.00     60.6102:57:51 AM     all     44.58      0.00     16.87      0.00      0.00     38.55平均时间:     all     15.64      0.00      6.98      0.00      0.00     77.38
sar -n DEV 2 4  #查看网络设备的网络吞吐量 linuxidc@linuxidc:~/www.linuxidc.com$ sar -n DEV 2 4 如下图: 8f38cce28c01e80138426515e57ec169.png 参数释义: IFACE:设备名; rxpck/s:每秒收到的包; rxbyt/s:每秒收到的所有包的数量 ; txbyt/s:每秒发送的所有包的数量 ; txbyt/s:每秒发送的所有包的大小; rxcmp/s:每秒收到数的据压缩包的数量; txcmp/s :每秒传输的数据压缩包的数据; rxmcst/s: 每秒收到的多播的包数量; 想获取某块网卡的流量情况,我们可以使用grep过滤。  #sar -n DEV 2 4 | grep eth0 linuxidc@linuxidc:~/www.linuxidc.com$ sudo /usr/local/lib/sa/sadc - [sudo] linuxidc 的密码: linuxidc@linuxidc:~/www.linuxidc.com$ /usr/local/lib/sa/sadc 1 10 sa000 linuxidc@linuxidc:~/www.linuxidc.com$ sar -f sa000 Linux 5.2.5-050205-generic (linuxidc)  08/15/2019  _x86_64_ (1 CPU) 01:55:04 AM    CPU    %user    %nice  %system  %iowait    %steal    %idle 01:55:07 AM    all    24.77      0.00    75.23      0.00      0.00      0.00 01:55:08 AM    all    30.00      0.00    70.00      0.00      0.00      0.00 01:55:09 AM    all    16.67      0.00    83.33      0.00      0.00      0.00 01:55:10 AM    all    26.67      0.00    73.33      0.00      0.00      0.00 01:55:11 AM    all    19.35      0.00    80.65      0.00      0.00      0.00 01:55:12 AM    all    25.81      0.00    74.19      0.00      0.00      0.00 01:55:13 AM    all    16.67      0.00    33.33    50.00      0.00      0.00 01:55:14 AM    all    18.18      0.00    28.57    53.25      0.00      0.00 01:55:15 AM    all    22.86      0.00    38.57    38.57      0.00      0.00 平均时间:    all    22.11      0.00    57.02    20.87      0.00      0.00 95c7eae8684c2c29258c206b70132639.png

6、pidstat

linuxidc@linuxidc:~/www.linuxidc.com$ pidstat --help 用法:pidstat [ 选项 ] [ [ ] ] [ -e ] 选项: [ -d ] [ -H ] [ -h ] [ -I ] [ -l ] [ -R ] [ -r ] [ -s ] [ -t ] [ -U [ ] ] [ -u ] [ -V ] [ -v ] [ -w ] [ -C ] [ -G ] [ -p { [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ] [ --dec={ 0 | 1 | 2 } ] [ --human ] 如下图: a1f92837ab5f91bc226e177b4b602b69.png linuxidc@linuxidc:~/www.linuxidc.com$ pidstat -dl 5fd2cc77b97176a197a5a9e676a64d18.png   通过sysstat监控Linux各项参数 https://www.linuxidc.com/Linux/2011-12/50177.htm Linux系统监控工具sysstat https://www.linuxidc.com/Linux/2014-07/104683.htm Linux系统性能和使用活动监控工具 sysstat  https://www.linuxidc.com/Linux/2014-10/108136.htm Linux系统性能和使用活动监控工具–Sysstat  https://www.linuxidc.com/Linux/2015-12/126014.htm

sysstat 12.1.6 发布,适用于Linux的性能监视工具  https://www.linuxidc.com/Linux/2019-08/160081.htm

d96f9d55ef313ae6378d1fb42f23c2d0.png 商务合作联系:root@linuxidc.net长按或扫描左图识别二维码关注Linux公社公众微信号 Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址:https://www.linuxidc.com/Linux/2019-08/160082.htm

9f9f1f6c4f9ebc38510101cec81c0666.gif dc97510a6253ce765884004ec57322bc.png 支持就点下在看并 转发朋友圈吧 9f9f1f6c4f9ebc38510101cec81c0666.gif
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是大致的步骤: 1. 首先,您需要准备两台VMware虚拟机,并在其中安装操作系统(建议使用Linux系统)。这两台虚拟机需要在同一网络中,并且能够相互通信。 2. 在操作系统中安装必要的依赖项,如gcc、libaio、sysstat等。您可以使用以下命令来安装这些依赖项(在CentOS系统中): ``` yum install gcc gcc-c++ libaio libaio-devel sysstat -y ``` 3. 下载Oracle 11g安装文件和Grid Infrastructure安装文件。这些文件可以在Oracle官网上下载。 4. 在两台虚拟机上,分别解压缩Oracle 11g和Grid Infrastructure安装文件。 5. 在两台虚拟机上,分别运行Grid Infrastructure的安装向导。按照向导的提示进行操作,设置相应的参数,如节点名称、VIP地址、存储选项等。在安装向导的“选择安装选项”页面中,选择“安装Grid Infrastructure for a Cluster”选项。 6. 完成Grid Infrastructure的安装后,在两台虚拟机上,分别运行Oracle 11g的安装向导。按照向导的提示进行操作,设置相应的参数,如实例名称、密码、字符集等。在安装向导的“选择安装选项”页面中,选择“创建一个RAC数据库”。 7. 在安装向导的“节点选择”页面中,选择两台虚拟机,并设置相应的节点角色,如主节点和备节点。在安装向导的“存储选项”页面中,设置相应的ASM磁盘组。 8. 完成Oracle 11g的安装后,运行DBCA(Database Configuration Assistant)工具,创建数据库实例。 9. 最后,测试RAC数据库是否正常工作。 以上是大致的步骤,具体操作可能因环境和版本而异。如果您需要更详细的指导,我建议您参考Oracle官方文档或相关的安装教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值