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