linux的idle命令,DBA 常用Linux命令

 2023-09-07 阅读 26 评论 0

摘要:1.查看CPU某段时间比如7:00到10:00期间的使用率[oracle@mppay2 ~]$ sar -s 07:00:00 -e 10:00:00Linux 2.6.32-642.el6.x86_64 (mppay2) 11/06/2020 _x86_64_ (16 CPU)linux vi命令详解、07:00:01 AM CPU %user %nice %system %iowait %steal %idle07:10:01 AM all 0.39 0

1.查看CPU某段时间比如7:00到10:00期间的使用率

[oracle@mppay2 ~]$ sar -s 07:00:00 -e 10:00:00

Linux 2.6.32-642.el6.x86_64 (mppay2) 11/06/2020 _x86_64_ (16 CPU)

linux vi命令详解、07:00:01 AM CPU %user %nice %system %iowait %steal %idle

07:10:01 AM all 0.39 0.00 0.81 0.11 0.00 98.68

07:20:02 AM all 0.36 0.00 0.79 0.11 0.00 98.75

07:30:01 AM all 0.36 0.00 0.79 0.10 0.00 98.75

linux常用指令表?...

09:40:01 AM all 0.39 0.00 0.79 0.11 0.00 98.71

09:50:01 AM all 0.45 0.00 0.80 0.11 0.00 98.64

Average: all 0.38 0.00 0.80 0.11 0.00 98.71

vim 上一页下一页、cpu属性值说明:

%user:CPU处在用户模式下的时间百分比。

%nice:CPU处在带NICE值的用户模式下的时间百分比。

%system:CPU处在系统模式下的时间百分比。

linux查找文件命令、%iowait:CPU等待输入输出完成时间的百分比。

%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。

%idle:CPU空闲时间百分比。

2.汇总连接1521端口的每个客户端IP的连接数

linux查看进程命令,方法1

[oracle@mppay1 ~]$ netstat -apnT|grep 1521 |awk '{print $5}'|sort -u |grep -v 1521 |grep -v '*' |awk -F ':' '{print $4}'|uniq -c |sort -nr

4 10.0.101.177

2 10.0.101.6

linux打开文件命令,2 10.0.101.123

1 10.0.101.7

1 10.0.101.175

1 10.0.101.134

linux基本命令的使用、1

方法2

[oracle@mppay1 ~]$ netstat -anpT|grep 1521 |awk '{print $5}'|grep -o -E '1.*:' |awk -F ':' '{print $1}' | sort |uniq -c |sort -nr

5 10.0.101.177

2 10.0.101.6

2 10.0.101.175

2 10.0.101.123

1 10.0.101.7

1 10.0.101.134

方法3(centos 7)

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

#僅僅1521

[oracle@ORACLE122 ~]$ netstat -ntu | grep 1521 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

1 127.0.0.1

1 192.168.1.183

。。。

8 192.168.50.43

575 192.168.50.35

3.按监听端口1521来查询连接数据库的客户端IP

[oracle@mppay1 ~]$ netstat -anpT | grep 1521 | awk '{print $5}' | grep -o -E '1.*:' | awk -F ':' '{print $1}' | sort

10.0.101.123

10.0.101.123

10.0.101.134

10.0.101.175

10.0.101.175

10.0.101.177

10.0.101.177

10.0.101.177

10.0.101.177

10.0.101.177

10.0.101.6

10.0.101.6

10.0.101.7

4.按oracleSID(MPPAY )来查询连接数据库的客户端IP

[oracle@mppay1 ~]$ netstat -anpT | grep MPPAY | awk '{print $5}' | grep -o -E '1.*:' | awk -F ':' '{print $1}' | sort

10.0.101.123

10.0.101.123

10.0.101.134

10.0.101.177

10.0.101.177

10.0.101.177

10.0.101.177

10.0.101.6

10.0.101.6

10.0.101.7

5.查询连接1521端口的process进程数

[oracle@mppay1 ~]$ netstat -pan |grep 1521 |wc -l

15

6.查询来自某台服务器 10.0.101.6 的连接的process进程数

[oracle@mppay1 ~]$ netstat -pan |grep 10.0.101.6 |wc -l

2

7.删除几天前的文件

先統計目錄中文件數量

[root@websrv admin]# for i in /macaupass/acc/rpt/admin/*; do echo $i; find $i |wc -l; done

/macaupass/acc/rpt/admin/2018-01

249

/macaupass/acc/rpt/admin/2018-02

225

。。。

/macaupass/acc/rpt/admin/2018-05

249

find /u01/app/oracle/diag/rdbms/mpmon/MPMON/trace/ -mtime +15 -name "*.*" -exec rm -Rf {} \;

--删除15天前的文件

find /mitac/mds/arch/ -ctime +15 -exec rm -rf {} \; --常用

--删除以836701255.dbf结尾,15天前被修改过的文件

find /mitac/mds/arch/ -name '*836701255.dbf' -ctime +15 -exec rm -rf {} \;

8.資源消耗監控

CPU占用最多的前10个进程:

ps auxw|head -1;ps auxw|sort -rn -k3|head -10

内存消耗最多的前10个进程

ps auxw|head -1;ps auxw|sort -rn -k4|head -10

虚拟内存使用最多的前10个进程

ps auxw|head -1;ps auxw|sort -rn -k5|head -10

top命令後再輸入1,可以看到多少个cpu,

再按 shift+p 则按cpu排序,

再按 shift+m 则按内存排序

9.資源消耗查詢

[oracle@mppay2 ~]$ iostat -m --以兆為單位

Linux 2.6.32-642.el6.x86_64 (mppay2) 11/06/2020 _x86_64_ (16 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.75 0.00 0.81 0.31 0.00 98.12

Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn

sda 41.18 1.49 0.38 13526302 3425779

dm-0 131.33 1.49 0.38 13519950 3416590

[oracle@mppay2 ~]$ iostat -k -- K為單位

Linux 2.6.32-642.el6.x86_64 (mppay2) 11/06/2020 _x86_64_ (16 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.75 0.00 0.81 0.31 0.00 98.12

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

sda 41.18 1521.71 385.40 13850933657 3508007816

dm-0 131.33 1521.00 384.37 13844429749 3498599180

------------------------------------------------------------------------------

cpu属性值说明:

%user:CPU处在用户模式下的时间百分比。

%nice:CPU处在带NICE值的用户模式下的时间百分比。

%system:CPU处在系统模式下的时间百分比。

%iowait:CPU等待输入输出完成时间的百分比。

%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。

%idle:CPU空闲时间百分比。

备注:

如果%iowait的值过高,表示硬盘存在I/O瓶颈

如果%idle值高,表示CPU较空闲

如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量。

如果%idle值持续低于10,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU。

cpu属性值说明:

tps:该设备每秒的传输次数

kB_read/s:每秒从设备(drive expressed)读取的数据量;

kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;

kB_read: 读取的总数据量;

kB_wrtn:写入的总数量数据量;

10.查看设备使用率(%util)、响应时间(await)

# 【-d 显示磁盘使用情况,-x 显示详细信息 -k 以K為單位, 1 2 每1秒一次,共2次 】

[oracle@mppay2 ~]$ iostat -d -x -k 1 2

Linux 2.6.32-642.el6.x86_64 (mppay2) 11/06/2020 _x86_64_ (16 CPU)

Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util

sda 9.38 81.47 18.31 22.87 1521.67 385.40 92.62 0.31 7.60 4.19 10.33 1.67 6.86

dm-0 0.00 0.00 27.60 103.72 1520.96 384.36 29.02 0.09 0.66 5.77 3.84 0.52 6.85

Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util

sda 0.00 48.00 0.00 29.00 0.00 272.00 18.76 0.10 3.38 0.00 3.38 1.69 4.90

dm-0 0.00 0.00 0.00 75.00 0.00 272.00 7.25 0.34 4.56 0.00 4.56 0.65 4.90

----------------------------------------------------------------

说明:

rrqm/s: 每秒进行 merge 的读操作数目.即 delta(rmerge)/s

wrqm/s: 每秒进行 merge 的写操作数目.即 delta(wmerge)/s

%util: 一秒中有百分之多少的时间用于 I/O

如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷

idle小于70% IO压力就较大了,一般读取速度有较多的wait。

11.查看IO信息

--如下 每1秒显示一次,一共显示3次,显示为MB

[oracle@mppay2 ~]$ iostat -d -x -m 1 3

Linux 2.6.32-642.el6.x86_64 (mppay2) 11/06/2020 _x86_64_ (16 CPU)

Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util

sda 9.38 81.48 18.31 22.87 1.49 0.38 92.63 0.31 7.60 4.19 10.33 1.67 6.86

dm-0 0.00 0.00 27.61 103.73 1.49 0.38 29.02 0.09 0.66 5.77 3.84 0.52 6.85

Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util

sda 0.00 15.00 0.00 11.00 0.00 0.09 16.00 0.03 2.73 0.00 2.73 1.27 1.40

dm-0 0.00 0.00 0.00 25.00 0.00 0.09 7.04 0.06 2.40 0.00 2.40 0.56 1.40

Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util

sda 0.00 6.00 0.00 44.00 0.00 0.11 5.09 0.12 2.66 0.00 2.66 2.50 11.00

dm-0 0.00 0.00 0.00 50.00 0.00 0.11 4.48 0.13 2.52 0.00 2.52 2.20 11.00

備註:Linux iostat命令详解

iostat常用命令格式如下:

iostat [参数] [时间] [次数]

命令参数说明如下:

-c 显示CPU使用情况

-d 显示磁盘使用情况

-k 以K为单位显示

-m 以M为单位显示

-N 显示磁盘阵列(LVM) 信息

-n 显示NFS使用情况

-p 可以报告出每块磁盘的每个分区的使用情况

-t 显示终端和CPU的信息

-x 显示详细信息

使用实例 1

[oracle@mppay2 ~]$ iostat -x

Linux 2.6.32-642.el6.x86_64 (mppay2) 11/06/2020 _x86_64_ (16 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.75 0.00 0.81 0.31 0.00 98.12

Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await r_await w_await svctm %util

sda 9.38 81.47 18.30 22.87 3043.20 770.76 92.62 0.31 7.60 4.19 10.33 1.67 6.86

dm-0 0.00 0.00 27.60 103.72 3041.77 768.70 29.02 0.09 0.66 5.77 3.84 0.52 6.85

------------------------------------------------

输出内容详解:

%user:CPU处在用户模式下的时间百分比

%nice:CPU处在带NICE值的用户模式下的时间百分比

%system:CPU处在系统模式下的时间百分比

%iowait:CPU等待输入输出完成时间的百分比

%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比

%idle:CPU空闲时间百分比

当然了,iostat命令的重点不是用来看CPU的,重点是用来监测磁盘性能的。

Device:设备名称

rrqm/s:每秒合并到设备的读取请求数

wrqm/s:每秒合并到设备的写请求数

r/s:每秒向磁盘发起的读操作数

w/s:每秒向磁盘发起的写操作数

rkB/s:每秒读K字节数

wkB/s:每秒写K字节数

avgrq-sz:平均每次设备I/O操作的数据大小

avgqu-sz:平均I/O队列长度

await:平均每次设备I/O操作的等待时间 (毫秒),一般地,系统I/O响应时间应该低于5ms,如果大于 10ms就比较大了

r_await:每个读操作平均所需的时间;不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间

w_await:每个写操作平均所需的时间;不仅包括硬盘设备写操作的时间,还包括了在kernel队列中等待的时间

svctm:平均每次设备I/O操作的服务时间 (毫秒)(这个数据不可信!)

%util:一秒中有百分之多少的时间用于I/O操作,即被IO消耗的CPU百分比,一般地,如果该参数是100%表示设备已经接近满负荷运行了

使用实例 2

[oracle@mppay2 ~]$ iostat -d -k 2 3

Linux 2.6.32-642.el6.x86_64 (mppay2) 11/06/2020 _x86_64_ (16 CPU)

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

sda 41.18 1521.58 385.38 13850936425 3508103708

dm-0 131.32 1520.86 384.34 13844432517 3498695072

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

sda 9.00 0.00 168.00 0 336

dm-0 46.50 0.00 168.00 0 336

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

sda 7.00 0.00 46.00 0 92

dm-0 14.00 0.00 46.00 0 92

------------------------------------------------------------------------------

输出内容详解:

tps:每秒I/O数(即IOPS。磁盘连续读和连续写之和)

kB_read/s:每秒从磁盘读取数据大小,单位KB/s

kB_wrtn/s:每秒写入磁盘的数据的大小,单位KB/s

kB_read:从磁盘读出的数据总数,单位KB

kB_wrtn:写入磁盘的的数据总数,单位KB

性能监控指标

[root@dbs2 ~]# iostat -x -k

Linux 2.6.32-642.el6.x86_64 (dbs2.mp) 11/06/2020 _x86_64_ (56 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.94 0.00 0.22 0.02 0.00 98.83

Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util

scd0 0.00 0.00 0.01 0.00 0.02 0.00 8.06 0.00 57.70 57.70 0.00 57.69 0.03

sda 0.60 472.36 74.95 152.58 4482.59 2499.76 61.38 0.06 0.27 0.32 0.25 0.10 2.26

dm-0 0.00 0.00 0.09 0.61 1.12 2.43 10.21 0.00 0.74 0.47 0.78 0.13 0.01

dm-1 0.00 0.00 0.69 0.71 2.75 2.85 8.00 0.00 1.27 0.32 2.19 0.05 0.01

dm-2 0.00 0.00 0.00 0.06 0.10 0.26 10.91 0.00 3.33 0.31 3.41 0.03 0.00

dm-3 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 3.00 4.52 1.06 0.17 0.00

dm-4 0.00 0.00 0.20 1.70 1.80 6.79 9.07 0.00 0.44 0.55 0.42 0.06 0.01

dm-5 0.00 0.00 74.58 617.49 4476.82 2469.96 20.08 0.05 0.04 0.32 0.01 0.03 2.24

dm-6 0.00 0.00 0.00 4.37 0.00 17.48 8.00 0.06 13.52 4.79 13.52 0.00 0.00

------------------------------------------------------------------

在日常运维中到底需要关注哪些字段呢?下面就来说说这篇文章的重点了,我们到底该关注哪些输出内容就可以确定这台服务器是否存在IO性能瓶颈。

%iowait:如果该值较高,表示磁盘存在I/O瓶颈

await:一般地,系统I/O响应时间应该低于5ms,如果大于10ms就比较大了

avgqu-sz:如果I/O请求压力持续超出磁盘处理能力,该值将增加。如果单块磁盘的队列长度持续超过2,

一般认为该磁盘存在I/O性能问题。需要注意的是,如果该磁盘为磁盘阵列虚拟的逻辑驱动器,

需要再将该值除以组成这个逻辑驱动器的实际物理磁盘数目,以获得平均单块硬盘的I/O等待队列长度

%util:一般地,如果该参数是100%表示设备已经接近满负荷运行了

最后,除了关注指标外,我们更需要结合部署的业务进行分析。对于磁盘随机读写频繁的业务,

比如图片存取、数据库、邮件服务器等,此类业务吗,tps才是关键点。对于顺序读写频繁的业务,

需要传输大块数据的,如视频点播、文件同步,关注的是磁盘的吞吐量。

网卡流量(iftop命令)

iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息、TCP/IP连接等

#安装iftop

cd /usr/local/src

yum install flex byacc libpcap ncurses ncurses-devel libpcap-devel -y

wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz

tar -zxvf iftop-0.17.tar.gz

cd iftop-0.17

./configure

make

make install

iftop --help

[root@xag182 iftop-0.17]# ip addr

2: ens33:

[root@xag182 iftop-0.17]# iftop -N -n -i ens33

oracle 10046

SQL> select name, value from v$parameter where name like '%dump_dest%';

NAME VALUE

-------------------------------------------------------------------------------

background_dump_dest /u01/oracle/admin/MPACC/bdump

user_dump_dest /u01/oracle/admin/MPACC/udump

core_dump_dest /u01/oracle/admin/MPACC/cdump

SQL> alter session set events '10046 trace name context forever,level 8';

SQL> select count(1) from tabs;

SQL>

select c.value || '/' || d.instance_name || '_ora_' || a.spid || '.trc' trace

from v$process a, v$session b, v$parameter c, v$instance d where a.addr = b.paddr and b.audsid = userenv('sessionid') and c.name = 'user_dump_dest';

TRACE

--------------------------------------------------------------------------------

/u01/oracle/admin/MPACC/udump/mpacc_ora_13846.trc

SQL> alter session set events '10046 trace name context off';

shell >

tkprof /u01/oracle/admin/MPACC/udump/mpacc_ora_13846.trc /home/oracle/mpacc_ora_13846.txt sys=no

查看日誌

cat /home/oracle/mpacc_ora_13846.txt

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/17285.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息