Overflow memory

Pablo Andrade2 years ago

Hello some time ago the memory of my server was full and gave me a 400 error at the time of login on the platform, the server capacity was increased and yet every 4 or 3 hours I still have that error. It is solved by doing a service traccar restart.
Currently I have 800 devices and my server has the following characteristics / 16 GB RAM / 8 dedicated vCPUs / 200GB SSD. I also looked at the optimization guide and when I run the following command cat /proc/$(pidof java)/limits | grep "open files" I get Max open files 524888 524888 files. Also my position table currently has over 30M records and is 52GB.

Pablo Andrade2 years ago

My bad, is 130M records.

Anton Tananaev2 years ago

What's the error exactly and where do you get it? What version are you using and if you have any customization?

Pablo Andrade2 years ago

I have version 4.13, the error happens every 3 or 4 hours, I don't know what causes it. My last log is this

2022-05-25 15:09:15  WARN: Update device status error - HikariPool-1 - Connection is not available, request timed out after 30000ms. - SQLTransientConnectionException (... < QueryBuilder:58 < *:131 < DataManager:336 < DeviceManager:315 < ...)
2022-05-25 15:09:15  WARN: Update device status error - HikariPool-1 - Connection is not available, request timed out after 30000ms. - SQLTransientConnectionException (... < QueryBuilder:58 < *:131 < DataManager:336 < DeviceManager:315 < ...)
2022-05-25 15:09:15  WARN: Update device status error - HikariPool-1 - Connection is not available, request timed out after 30000ms. - SQLTransientConnectionException (... < QueryBuilder:58 < *:131 < DataManager:336 < DeviceManager:315 < ...)
2022-05-25 15:09:15  WARN: Update device status error - HikariPool-1 - Connection is not available, request timed out after 30000ms. - SQLTransientConnectionException (... < QueryBuilder:58 < *:131 < DataManager:336 < DeviceManager:315 < ...)
2022-05-25 15:09:15  WARN: Update device status error - HikariPool-1 - Connection is not available, request timed out after 30000ms. - SQLTransientConnectionException (... < QueryBuilder:58 < *:131 < DataManager:336 < DeviceManager:315 < ...)

every time it happens I run service traccar restart and everything works fine.

Anton Tananaev2 years ago

This has nothing to do with memory overflow, as far as I know. Can you please explain where you got the memory overflow from?

Pablo Andrade2 years ago

I'm sorry I didn't know very well what title to give to my problem, I put it this way because at the beginning the error occurred because the memory of my server was full and I got the error 400 when logging in. Later I increased the capacities of my server and it began to give me the same error 400 at the moment of logging in periods of 3 to 4 hours. Sorry for my mistake.

Anton Tananaev2 years ago

You need to check your database. Looks like something is blocking connection.