导航:首页 > 源码编译 > linuxiostat源码

linuxiostat源码

发布时间:2022-04-23 17:54:21

linux的 iostat 找出哪个进程占据了大量IO

iostat实时查看不如iotop,iotop用了直观反映你的需求
# iotop

② linux iostat 这都表示

平均CPU占用 用户的 ? 系统的 IO等待 ? 空闲

③ 请教Linux里面,关于iotop和iostat的信息抓取的问题

两个问题一个思路:

脚本运行开始,记录时间,time=现在的时间-脚本开始运行的时间;
iotop

if time = 5
iotop >> file

④ 如何查看linux状态

iostat
iostat 命令详细地显示了存储子系统方面的情况。你通常用iostat来监控存储子系统总体上运行状况如何,并且在用户注意到服务器运行缓慢之前提早发现输入/输出缓慢的问题。相信我,你应该在用户发现这些问题之前先发现这些问题!
meminfo和free
meminfo为你详细显示了内存方面的情况。你通常可以使用另一个程序,比如cat和grep,来访问meminfo的信息。比如说,cat /proc/meminfo为你详细显示了服务器的内存在任何一个时间的使用情况。
如果想快速了解内存的概要信息,可以使用free命令。简而言之,free为你提供了概要信息;meminfo为你提供了详细信息。
mpsta
mpstat命令可以报告多处理器服务器上每个可用处理器的活动情况。如今,由于多核处理器,这个命令适用于几乎所有服务器。mpstat还可以报告所有服务器上的处理器的平均活动情况。它让你能够按照系统或按照处理器来显示总的处理器统计信息。这个概要信息可以在潜在的应用程序问题惹毛用户之前提醒你注意。

⑤ 如何查看Linux下进程的IO活动状况 00 Hey,Linux

前段时间,几台测试服务器的Web应用响应速度非常慢,系统负载也比较高,> 10, 但CPU和内存却很闲,于是怀疑是磁盘的性能瓶颈,通过vmstat和iostat看到IO的读写量非常大,尤其是用iostat -x 1命令可以很直观的看到IO的使用率一直在100%。
但究竟是什么进程导致的高IO呢,由于每台服务器上都有JBoss和MySQL的存在,JBoss会不停的产生很多小的数据文件和生成文本数据库的数据,而MySQL则会不停的从Master同步新的数据。因此我们怀疑是这两个进程导致的高IO,通过停止了JBoss和MySQL之后,IO立刻降为0%. 但我们还是不能确定谁是主因,于是寻找可以查看特定进程IO的方法。
最后,找到了两个方法可以查看进程IO的活动状况。
1. 第一个方法是通过一个python脚本来实现。
方法是将以下内容另存为一个叫io.py的脚本中,然后直接以root身份执行脚本,就可以看到如下图所示的信息(由于我们已经通过升级到SSD硬盘解决了MySQL的IO问题,所以不能提供关于MySQL的截图了),其中出现次数最多,数据最大的进程,就是导致高IO的主因。不过比较遗憾的是这个脚本并不能显示进程在每一秒的准确的IO读写。

# vim io.py
# chmod +x io.py
# ./io.py
#!/usr/bin/python
# Monitoring per-process disk I/O activity
# written by http://www.vpsee.com

import sys, os, time, signal, re

class DiskIO:
def __init__(self, pname=None, pid=None, reads=0, writes=0):
self.pname = pname
self.pid = pid
self.reads = 0
self.writes = 0

def main():
argc = len(sys.argv)
if argc != 1:
print "usage: ./iotop"
sys.exit(0)

if os.getuid() != 0:
print "must be run as root"
sys.exit(0)

signal.signal(signal.SIGINT, signal_handler)
os.system('echo 1 > /proc/sys/vm/block_mp')
print "TASK PID READ WRITE"
while True:
os.system('dmesg -c > /tmp/diskio.log')
l = []
f = open('/tmp/diskio.log', 'r')
line = f.readline()
while line:
m = re.match(\
'^(\S+)\((\d+)\): (READ|WRITE) block (\d+) on (\S+)', line)
if m != None:
if not l:
l.append(DiskIO(m.group(1), m.group(2)))
line = f.readline()
continue
found = False
for item in l:
if item.pid == m.group(2):
found = True
if m.group(3) == "READ":
item.reads = item.reads + 1
elif m.group(3) == "WRITE":
item.writes = item.writes + 1
if not found:
l.append(DiskIO(m.group(1), m.group(2)))
line = f.readline()
time.sleep(1)
for item in l:
print "%-10s %10s %10d %10d" % \
(item.pname, item.pid, item.reads, item.writes)

def signal_handler(signal, frame):
os.system('echo 0 > /proc/sys/vm/block_mp')
sys.exit(0)

if __name__=="__main__":
main()

2. 另一个方法是将Linux的内核升级到 >=2.6.20,然后安装一个iotop软件来实现。
不过这种改动并不适用于生产环境,因为在RHEL5.6和5.7上,内核都在 2.6.20以下。但是它所显示的结果是非常准确的,所以对于新上线的机器以及测试环境,非常值得一试,具体方法如下:

下载和升级新内核(>=2.6.20),编译时打开 TASK_DELAY_ACCT 和 TASK_IO_ACCOUNTING 选项。
解压内核后进入配置界面:
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.tar.gz
# tar jxvf linux-2.6.39.tar.gz
# mv linux-2.6.39 /usr/src/
# cd /usr/src/linux-2.6.39
# make oldconfig //使用make oldconfig可以继承老的kernel的配置,为自己的配置省去很多麻烦。
# make menuconfig
把General setup - Enable per-task storage I/O accounting这个选项选上。

# vim .config
将#CONFIG_SYSFS_DEPRECATED_V2 is not set的注释去掉的,将其改为y,即修改为CONFIG_SYSFS_DEPRECATED_V2=y。
保存内核后编译内核:
# make
# make moles
# make moles_install
# make install
修改默认以新的内核启动:
# vi /boot/grub/grub.conf
default=0
将新的内核配置文件复制到/boot目录:
# cp /usr/src/linux-2.6.39/.config /boot/config-2.6.39
重启服务器:
# reboot
# uname –r
2.6.39
重启完成后确认内核版本是否正确。
源码安装iotop所需的Python 2.7.2(>= 2.5):
# wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
# tar xzvf Python-2.7.2.tgz
# cd Python-2.7.2
# ./configure
# make; make install
下载并安装iotop:
# wget http://guichaz.free.fr/iotop/files/iotop-0.4.4.tar.bz2
# tar -xjvf iotop-0.4.4.tar.bz2
# cd iotop-0.4.4
# python setup.py build
# python setup.py install
然后就可以使用iotop看到如下图所示的信息:

⑥ 新手如何学习Linux

新手学习建议找准学习方向报班学习。

Linux主体分为“运维”与“开发”两个方向,无论你是Linux相关从业者,还是说爱好都可以归类到这里,其中“运维”一般是初学者或者转行人员的首选,而Linux运维主要是对服务器稳定、性能与安全方面的维护和调试。

实际上Linux入门并不困难,只要具备Linux基础,读懂Linux的命令格式,大多数的服务架构都是可以按照文档部署出来。当然做Linux开发,个人建议去参加培训学习更有效率,如果报班学习则大概需要4-6个月时间。

学习主要内容有:

1)网络基础与linux系统的管理

2)优化及高可用技能

3)虚拟化与云平台技术

4)开发运维

毕业后可从事的工作有:

1)Linux运维工程师

2)数据库工程师

3)云计算运维工程师

4)自动化运维工程师

5)云计算架构工程师等

互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。

想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。

祝你学有所成,望采纳。

⑦ 监控linux io 使用iostat命令常用参数有哪些

如果vmstat和iostat命令不能再你的电脑上运行,请安装sysstat包。因为vmstat和iostat命令是集成在SYSSTAT(系统监视工具)包里面。 iostat命令主要生成CPU和所有设备统计报告。你可以下载并安装SYSSTAT,如果使用源代码tar包安装,从这里下载SYSSTA...

⑧ linux性能监控iostat怎么退出这个命令

方法/步骤

iostat -d -k 1 5 命令中参数-d 表示显示磁盘使用情况,-k 表示显示block的列以K为单位,1 5 表示 每隔1秒刷新一次,共显示5次。
查询结果中主要关注指标有: tps 每秒的传输次数,kB_read/s 每秒从设备读取的数据量,kB_wrtn/s 每秒向设备写入的数据量。kB_read 和 kB_wrtn 分别表示从设备读取的数据总量和写入的数据总量。

iostat -d -x -k 1 5 命令 参数 -x可以统计更多的信息,查询结果中主要关注指标有:设备使用率 %util ,表示该统计时间内所有的处理IO时间,如果该值接近100%,说明该设备已经接近满负荷,响应时间 await,表示每个IO处理的平均时间,单位是毫秒,如果该值大于10,说明系统IO处理比较慢了。

3
iostat -c 1 5 命令 参数-c 显示CPU的状态信息,查询结果中主要关注指标有:%iowait ,该参数设置表示CPU等待输入输出完成的时间占比,如果该值过高,表示系统存在IO瓶颈, %idle 表示CPU空闲时间占比,如果该值小于70%,表示系统压力比较大,如果持续低于10%,就需要解决CPU资源问题。

⑨ 如何在suse linux安装iostat

我们开发环境用的是64位的SUSE 10。
今天同事要用iostat工具,发现没有安装sysstat包。于是他从光盘里找到sysstat-6.0.2-16.4.x86_64.rpm包,
然后执行rpm -ivh sysstat-6.0.2-16.4.x86_64.rpm,但死活装不上,报需要gnuplot。
后来我直接用yast工具来安装sysstat
YaST -i sysstat
执行以上命令后,安装完成。
在yast安装过程中发现其实安装sysstat之前还需要安装其他包才能进行安装,于是把包名记了下来,在另一台机器上用rpm手工安装
rpm -ivh gd-2.0.32-23.2.x86_64.rpm
rpm -ivh plotutils-2.4.1-591.2.x86_64.rpm
rpm -ivh gnuplot-4.0.0-20.2.x86_64.rpm
rpm -ivh sysstat-6.0.2-16.4.x86_64.rpm
以上命令执行完后,也可以成功安装sysstat包。
不过还是建议使用yast工具,很好很强大哈~

⑩ Linux系统iostat命令

-x: 显示扩展统计信息(Display extended statistics)
-k: 以多少K/每秒显示结果,否者是单位是块/每秒
-t: 每次结果打印时间信息
30:间隔30秒
20: 总共20次显示结果

阅读全文

与linuxiostat源码相关的资料

热点内容
命令输入框 浏览:890
冰箱压缩机发烫噪音 浏览:85
单片机栈溢出符号 浏览:330
命令与征服修改器怎么用 浏览:485
什么app比较费钱 浏览:832
为什么同一个app的功能不一样 浏览:232
小型工作室用什么服务器好 浏览:995
程序员的兴趣 浏览:413
华为服务器有什么好 浏览:701
程序员和测试之间的关系 浏览:945
加密蚊帐什么意思 浏览:151
javalistclear 浏览:607
哪个app上民宿多靠谱 浏览:828
重庆服务器租用哪里有云服务器 浏览:453
土星模拟器文件夹 浏览:902
文件夹文件袋文件盒 浏览:695
云服务器打开f8指令 浏览:243
盈透证券加密币 浏览:72
阿里云服务器初始密码怎么修改 浏览:266
服务器怎么设定公用网络 浏览:99