Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取异常I/O使用情况Postgresql和JBD2_Postgresql_Amazon Web Services_Io_Amazon Ec2_Ext4 - Fatal编程技术网

获取异常I/O使用情况Postgresql和JBD2

获取异常I/O使用情况Postgresql和JBD2,postgresql,amazon-web-services,io,amazon-ec2,ext4,Postgresql,Amazon Web Services,Io,Amazon Ec2,Ext4,我目前正在使用EBS卷处理AWS上的一个EC2实例,我收到了一个警报,因为即使服务器处于空闲状态,我也会不断消耗I/O iotop命令显示: TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND 160 be/3 root 0.00 B 27.58 M 0.00 % 0.06 % [jbd2/xvda1-8] 10016 be/4 root 0.00 B

我目前正在使用EBS卷处理AWS上的一个EC2实例,我收到了一个警报,因为即使服务器处于空闲状态,我也会不断消耗I/O

iotop命令显示:

TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
160 be/3 root          0.00 B     27.58 M  0.00 %  0.06 % [jbd2/xvda1-8]
10016 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % [flush-202:1]
10014 be/4 postgres      0.00 B    947.35 M  0.00 %  0.00 % postgres: stats collector     process
 534 be/4 root          0.00 B    136.00 K  0.00 %  0.00 % dhclient3 -e IF_METRIC=100 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -1 eth0
postgresql使用postgis扩展运行,数据库几乎是空的,所以我真的不知道为什么它一直在收集统计数据,有时还有一个postgres写过程。
另一件事是Jbd2(ext4日志)进程,它也经常使用I/O,最好的答案是,如果您可以使用另一个卷将日志移动到另一个卷上。在这种情况下,EXT4可以看到更好的吞吐量

可能发生的情况是,您有一个小型数据库,处于某种程度的一般负载下,并且autovacuum正在后台运行。Autovacuum将分析使用过的表,并定期将数据写入统计表


如果负载较低,您也可以调整自动真空设置以避免出现问题。

您使用的是哪个版本的postgresql?您在postgresql server中运行了多少个数据库,有多少个对象?你的pg_stat_tmp目录(postgresql数据目录下)中有什么?Postgres版本是9.1,我只有一个非常小的DB。我解决了将pg_stat_目录移动到ramdisk的部分问题