Thread: Unable to fork: Resource Unavailable
Hi!
Our system works in hot/standby mode. There are multiple tables with multiple entries in the postgres sql database.
We observed that at times, observing the following prints:
2019-12-28T14:11:12.522653+09:00 localhost postgres[1355]: [3-1] 2019-12-28 05:11:12.521 GMT LOG: could not fork autovacuum worker process: Resource temporarily unavailable
2019-12-28T14:11:13.050796+09:00 localhost postgres[1355]: [4-1] 2019-12-28 05:11:13.050 GMT LOG: archiver process (PID 27698) exited with exit code 1
2019-12-28T14:11:13.051514+09:00 localhost postgres[1355]: [5-1] 2019-12-28 05:11:13.051 GMT LOG: archiver process (PID 17226) exited with exit code 1
2019-12-28T14:12:23.259291+09:00 localhost postgres[1355]: [6-1] 2019-12-28 05:12:23.259 GMT LOG: could not fork new process for connection: Resource temporarily unavailable
2019-12-28T14:12:23.267624+09:00 localhost postgres[1355]: [7-1] 2019-12-28 05:12:23.267 GMT LOG: could not fork new process for connection: Resource temporarily unavailable
2019-12-28T14:14:08.384115+09:00 localhost postgres[1355]: [8-1] 2019-12-28 05:14:08.383 GMT LOG: could not fork new process for connection: Resource temporarily unavailable
2019-12-28T14:14:08.384348+09:00 localhost postgres[1355]: [9-1] 2019-12-28 05:14:08.384 GMT LOG: could not fork new process for connection: Resource temporarily unavailable
2019-12-28T14:14:12.581409+09:00 localhost postgres[1355]: [10-1] 2019-12-28 05:14:12.581 GMT LOG: could not fork autovacuum worker process: Resource temporarily unavailable
2019-12-28T14:14:13.391192+09:00 localhost postgres[1355]: [11-1] 2019-12-28 05:14:13.391 GMT LOG: could not fork new process for connection: Resource temporarily unavailable
2019-12-28T14:14:13.391356+09:00 localhost postgres[1355]: [12-1] 2019-12-28 05:14:13.391 GMT LOG: could not fork new process for connection: Resource temporarily unavailable
2019-12-28T14:14:13.581992+09:00 localhost postgres[1355]: [13-1] 2019-12-28 05:14:13.581 GMT LOG: could not fork autovacuum worker process: Resource temporarily unavailable
.
.
Due to the above, our applications are unable to connect to Postgres and our systems are rebooting.
Can someone please help me understand the reason of “Resource temporarily unavailable” and any configuration / debug pointers?
Thanks,
Chatur G
On Tue, Jan 07, 2020 at 02:45:44PM +0530, Chatur Gopalkrishna wrote: >Hi! > >Our system works in hot/standby mode. There are multiple tables with >multiple entries in the postgres sql database. > >We observed that at times, observing the following prints: > >2019-12-28T14:11:12.522653+09:00 localhost postgres[1355]: [3-1] 2019-12-28 >05:11:12.521 GMT LOG: could not fork autovacuum worker process: Resource >temporarily unavailable > >2019-12-28T14:11:13.050796+09:00 localhost postgres[1355]: [4-1] 2019-12-28 >05:11:13.050 GMT LOG: archiver process (PID 27698) exited with exit code 1 > >2019-12-28T14:11:13.051514+09:00 localhost postgres[1355]: [5-1] 2019-12-28 >05:11:13.051 GMT LOG: archiver process (PID 17226) exited with exit code 1 > >2019-12-28T14:12:23.259291+09:00 localhost postgres[1355]: [6-1] 2019-12-28 >05:12:23.259 GMT LOG: could not fork new process for connection: Resource >temporarily unavailable > >2019-12-28T14:12:23.267624+09:00 localhost postgres[1355]: [7-1] 2019-12-28 >05:12:23.267 GMT LOG: could not fork new process for connection: Resource >temporarily unavailable > >2019-12-28T14:14:08.384115+09:00 localhost postgres[1355]: [8-1] 2019-12-28 >05:14:08.383 GMT LOG: could not fork new process for connection: Resource >temporarily unavailable > >2019-12-28T14:14:08.384348+09:00 localhost postgres[1355]: [9-1] 2019-12-28 >05:14:08.384 GMT LOG: could not fork new process for connection: Resource >temporarily unavailable > >2019-12-28T14:14:12.581409+09:00 localhost postgres[1355]: [10-1] 2019-12-28 >05:14:12.581 GMT LOG: could not fork autovacuum worker process: Resource >temporarily unavailable > >2019-12-28T14:14:13.391192+09:00 localhost postgres[1355]: [11-1] 2019-12-28 >05:14:13.391 GMT LOG: could not fork new process for connection: Resource >temporarily unavailable > >2019-12-28T14:14:13.391356+09:00 localhost postgres[1355]: [12-1] 2019-12-28 >05:14:13.391 GMT LOG: could not fork new process for connection: Resource >temporarily unavailable > >2019-12-28T14:14:13.581992+09:00 localhost postgres[1355]: [13-1] 2019-12-28 >05:14:13.581 GMT LOG: could not fork autovacuum worker process: Resource >temporarily unavailable > >Due to the above, our applications are unable to connect to Postgres and our >systems are rebooting. > >Can someone please help me understand the reason of "Resource temporarily >unavailable" and any configuration / debug pointers? > This seems like some sort of resorce exhaustion, likely at the kernel level (file descriptors, limits, ...). You haven't provided any info about which OS you're using, but this is unlikely a postgres bug, so posting it on pgsql-general would be more appropriate. regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services