PostgreSQL使CPU使用率达到100%?

时间:2019-01-16 03:29:13

标签: c# wpf cpu-usage postgresql-9.3

我在PostgreSQL中使用WPF Application

有时候PostgreSQL使CPU使用率高达100%。

我已经多次遇到此问题,但我不知道原因。

任务管理器中的快照图像位于下面

enter image description here

请注意,当此错误发生时,我杀死了我的应用程序exe,然后等待5分钟,但是任务管理器中的状态仍然没有改变。 CPU仍为100%

我看到了,它通常在Window Update之后发生。我必须重新启动计算机才能通过此操作。

我正在使用PostgreSQL 9.3

任何人都可以向我展示解决此问题的方法。

谢谢:)

2 个答案:

答案 0 :(得分:1)

如果您仍然可以访问postgres,我要看的一件事是您是否有可能挂断任何查询

SELECT
  pid,
  now() - pg_stat_activity.xact_start AS duration,
  query,
  state
FROM pg_stat_activity
WHERE (now() - pg_stat_activity.query_start) > interval '4 minutes';

如果确实存在一个查询,该查询的生存期超过了应有的生存期,则您 可以这样删除:

SELECT pg_cancel_backend(<pid>);

这可能不是问题,但至少会减少可能性。

答案 1 :(得分:0)

在大多数情况下,如果您不使用数据库中的索引,就会出现问题,对经常使用的字段使用索引,特别是如果您使用“ order by”或聚合(例如总和和计数)