首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在我运行应用程序时创建了这么多"postgres.exe“?

为什么在我运行应用程序时创建了这么多"postgres.exe“?
EN

Stack Overflow用户
提问于 2011-07-27 18:44:08
回答 1查看 32.2K关注 0票数 17

我有一个J2EE应用程序,部署在Windows (Vista 32位)平台中的JBoss6应用服务器中。我的数据库是"PostgreSQL 9.0.4“,我使用的是JDBC驱动程序:”PostgreSQL9.0-801.jdbc4.jar“。

在我的ds.xml文件中,我定义了最大池大小= 75和最小池大小= 40。我使用的是JPA/Hibernate以及javax.sql.DataSource。

在windows“任务管理器”中,我发现当PostgreSQL服务器启动时,它会创建6 "postgres.exe“进程。现在,当我在JBoss中部署/启动我的JBoss应用程序时,我发现总共有66个 "postgres.exe“进程。因此,这意味着另一个60 postgres进程是由于我的应用程序启动而产生(或启动)的。

如果我将max-pool-size更改为40,那么我注意到总共有46 postgres.exe processes。在这两种情况下都没有。当我停止我的J2EE应用程序时,postgres进程会下降到6个。

所以我的问题,这正常吗?这些额外的进程是因为“连接池”(由Hibernate使用)而产生/启动的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-27 20:15:39

是的,这很正常。来自manual

PostgreSQL服务器可以处理来自客户端的多个并发连接。为了实现这一点,它启动(“叉”),为每个连接创建一个新进程。从那时起,客户机和新服务器进程在不受原始postgres进程干预的情况下进行通信。因此,主服务器进程总是在运行,等待客户端连接,而客户机和相关的服务器进程则会来来去去。

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6849536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档