web 服务是用 spring 写的,部署在 jetty 上,使用网络请求 mysql 和 redis,有接入消息队列,有上报日志。但是看监控读磁盘 io 操作的时间和 size 都升高了(其实写也升高了)。
但自己项目没什么要加载静态文件的地方。
自己能想到的就在虚拟内存页交换和加载 java 类了,除了这些还有什么会读磁盘?
web 服务是用 spring 写的,部署在 jetty 上,使用网络请求 mysql 和 redis,有接入消息队列,有上报日志。但是看监控读磁盘 io 操作的时间和 size 都升高了(其实写也升高了)。
但自己项目没什么要加载静态文件的地方。
自己能想到的就在虚拟内存页交换和加载 java 类了,除了这些还有什么会读磁盘?
|
xuanbgNov 17, 2020
1
读写 MySQL 的时候,MySQL 就会有磁盘 IO 。写 Redis 的时候,Redis 如果配置了数据持久化的话,也会写磁盘。消息队列同样也会有数据持久化,也需要写磁盘的。
|
|
misaka19000Nov 17, 2020
3
swap
|
|
ruleworkNov 17, 2020
4
所有数据持久化操作不都得跟磁盘打交道
|
|
luckyrayyyNov 17, 2020
7
你没有日志吗?框架没有默认日志吗?
|
|
8
@luckyrayyy 类似 logagent 打本地上报到服务器。
|
|
billccnNov 18, 2020
9
strace 一下 JVM 看它写什么了呗。感觉最可能是 swap
|
|
oniceNov 18, 2020
11
是不是内存满了,用了 swap 。
|
|
azygoteNov 19, 2020
13
如果日志框架是 log4j/log4j2, 然后启用了 rolling file appender 的话,是会向硬盘写日志的
|