查找是那个进程的io高,一直cpu等待。切换到root权限用户。执行脚本a.sh
#!/bin/sh
/etc/init.d/syslog stop
echo 1 > /proc/sys/vm/block_dump
sleep 60
dmesg | awk '/(READ|WRITE|dirtied)/ {process[$2]++} END {for (x in process) \
print process[x],x}' |sort -nr |awk '{print $2 " " $1}' | \
head -n 10
echo 0 > /proc/sys/vm/block_dump
/etc/init.d/syslog start
##########end###########
显示结果如下:
Shutting down kernel logger: [ OK ]
Shutting down system logger: [ OK ]
kjournald(1039): 372
java(16517): 200 // 进程名(线程号):io量
java(13590): 157
java(4126): 150
java(16486): 148
java(13620): 113
java(13602): 95
java(4214): 90
java(3611): 90
java(16497): 81
Starting system logger: [ OK ]
Starting kernel logger: [ OK ]
显示的编号是线程号(thread) ,不是进程号(pid)
需要通thread id 找到 pid ,方法如下:需要加入-L参数
ps -Lef|grep tid
这样就可以查看出是那个应用在大量的操作磁盘了
简化操作步骤:
echo 1 > /proc/sys/vm/block_dump;
sleep 60
dmesg | awk '/(READ|WRITE|dirtied)/ {process[$2]++} END {for (x in process) \
print process[x],x}' |sort -nr |awk '{print $2 " " $1}' | \
head -n 10;
echo 0 > /proc/sys/vm/block_dump;
找出进程
ps -Lef|grep tid
iostat -x 1 第一行是统计信息,是没用的
相关推荐
* du命令:查看目录所占磁碟容量 * find命令:文件查找 * vi命令:编辑器 二、增强命令 * ln命令:文档连结 * grep命令:搜索字符串 * fgrep命令:搜索字符串 * file命令:显示文件类型 * diff命令:比较文档或...
- `free`:查看系统内存的使用情况,包括总内存、已用内存、空闲内存等。 - `smem`:提供更详细的内存报告,包括物理内存、交换内存等。 - `/proc/meminfo`:内核提供的虚拟文件,包含系统内存的详细信息。 3. *...
除了iostat,还可以结合其他工具如vmstat(查看进程、内存、交换空间、CPU活动及I/O等待状态)进行综合分析。例如,vmstat中的`b`参数显示等待资源的进程数,`wa`参数表示CPU因等待I/O操作完成而消耗的时间占比,...
5. 设备存储器:设备存储器是映射到操作空间的,优点是不需要特定 IO 指令,缺点是占地址空间。 6. 实现输入输出的方法:忙等待、使用中断和使用特殊的直接存储器访问芯片 DMA。 7. 进程的概念:进程是正在执行的...
文件占坑是一种技术,通过在操作系统层面创建一个进程,并将该进程与目标文件或文件夹关联,从而阻止其他程序对这些资源的操作。在Windows系统中,这通常是通过打开文件句柄并保持其打开状态来实现的。VB作为一款...
除了`iostat`,还可以结合`vmstat`命令来观察`b`(等待资源的进程数)和`wa`(IO等待所占CPU时间的百分比),这两个参数有助于进一步判断IO压力是否过高。 在Windows系统中,虽然工具和命令与Linux有所不同,但原理相同...
Python里的多线程是假的多线程,不管有多少核,同一时间只能在一个核中进行...首先说,多进程的进程之间是独立的,然后注意了,python的线程用的是系统的原生线程,python的进程也是用系统的原生进程,那原生进程是由
- `%iowait` 表示等待I/O完成所占的CPU时间百分比。 - `%steal` 表示其他操作系统所占的CPU时间百分比。 - `%idle` 表示空闲时间所占的CPU时间百分比。 3. **内存监控**: - **free工具**: - 示例: ```bash...
要将程序执行直接运行于后台,可以使用 ./a.out + & 或者先将进程 ctrl+z 暂停,然后通过指令 jobs -l 查看作业号,通过 bg+作业号,让其在后台运行。 多线程 多线程较多进程的优势在于调度规则都是时间片轮询上...
- `df`命令用来查看文件系统的总体磁盘空间使用情况,而`du`则可以查看具体目录或文件所占的空间。 6. **文件系统管理** - 对于文件系统的管理,可以使用`mount`和`umount`命令挂载和卸载文件系统,`fsck`用于...
- **`df`**:查看文件系统的磁盘使用情况,尤其是关注 `data` 分区的剩余空间。 - **`am start -n 包名/.activity名`**:启动指定的Activity,这对于测试和诊断特定功能非常有用。 #### ANR (Application Not ...
PowerTool 一款免费强大的进程管理器,支持进程强制结束,可以Unlock占 用文件的进程,查看文件/文件夹被占用的情况,内核模块和驱动的查看和管理 ,进程模块的内存的dump等功能。最新版还支持上传文件在线扫描...
如题中所示的状态变化图,进程经历了到达就绪队列、运行、因时间片结束回到就绪队列、因IO请求进入等待队列等状态,这符合时间片轮转调度的特点。 2. **可抢占的优先级调度算法**: - 在多道程序系统中,进程调度...
5. **等待I/O的CPU使用率(iowait)**:iowait高意味着CPU大部分时间在等待I/O操作完成,可能表示磁盘或网络I/O瓶颈。 6. **软中断和硬中断**:软中断和硬中断处理程序的CPU使用率高,通常与大量中断事件相关,可能与...
中断处理程序使用汇编语言定义,主要在 asm.s、system_call.s、keyboard.s 和 rs_io.s 中定义。 2. 中断类型:重要的中断类型包括时钟中断 (int 0x20)、系统调用中断 (int 0x80) 和页故障中断 (int 14)。时钟中断是...
- **常用包**:`java.io`,`java.util`,`java.sql`,`javax.naming`,`java.net`。 - **常用接口**:`Collection`,`Connection`,`Cloneable`,`Comparable`,`Serializable`。 9. **进程与线程**: - **进程*...
7. 同步/异步IO与阻塞/非阻塞IO:同步IO指的是进程发起IO操作后需要等待或轮询IO操作完成;异步IO指的是进程发起IO操作后可以继续执行其他操作,IO操作完成后系统会通知进程。阻塞IO是指请求操作后进程被挂起直至...
2. vmstat命令:vmstat命令能够提供关于系统内核线程、虚拟内存、磁盘IO、系统进程等信息。它有助于深入了解机器的负载情况。 3. iostat命令:iostat命令用于监测系统的IO负载,对于数据库压测而言,了解磁盘IO性能...