linux操作系统XXOO后,进行一般常规操作,发现性能慢了很多。
通过profile打点工具,发现很多进程比之前多了io读写操作以及块设备驱动真实的读写;
通过/proc/interrupt确实也证实了中断的计数确实比之前多很多。
排查XXOO操作,发现该操作进行了文件系统的cache刷新操作
# echo 1 > /proc/sys/vm/drop_caches 或者 # sysctl -w vm.drop_caches=1
如下方法可以把io操作轨迹打印到dmesg里面
echo 1 > /proc/sy/vm/block_dump
反推确实没有想出来
write
=>ret_from_syscall
=>sys_trace_entry
=>sys_write
=>vfs_write
=>do_syn_write
=>generic_file_aio_write
=>generic_file_buffered_wrie
write
=>ret_from_except
=>do_IRQ
=>native_do_IRQ
=>call_handle_irq
=>handle_fasteoi_irq
=>handle_IRQ_event
=>ata_sff_interrupt
参考如下文章:
Linux下的缓存机制及清理buffer cache swap的方法梳理
https://www.cnblogs.com/kevingrace/p/5991604.html
Linux缓存机制之块缓存
https://www.linuxidc.com/Linux/2012-03/55573.htm
本文介绍了一次Linux系统中遇到的IO性能下降问题及其排查过程。通过对系统进行profile分析,发现大量额外的IO读写操作,并确认这些操作与特定的cache刷新命令有关。文中详细记录了从发现问题到定位原因的具体步骤。

被折叠的 条评论
为什么被折叠?



