-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Konstantin,
On 11/10/17 8:46 AM, Konstantin Kolinko wrote: > 2017-11-10 12:31 GMT+03:00 Greg Huber <gregh3...@gmail.com>: >> Since switching to jsvc, randomly I am getting tomcat restarting, >> looking at the logs I see that the jsvc is using alot of memory >> total-vm: and being killed by the system. >> >> Nov 9 13:11:11 prodbox kernel: Out of memory: Kill process 1287 >> (jsvc) score 121 or sacrifice child Nov 9 13:11:11 prodbox >> kernel: Killed process 1287 (jsvc) total-vm:3453120kB, >> anon-rss:378280kB, file-rss:0kB, shmem-rss:0kB >> >> I am using the below on properties on the startup (from previous >> version statup scripts): >> >> -Xms256M -Xmx768m -Xss1280k -XX:+UseParallelGC >> -XX:MaxGCPauseMillis=1500 -XX:GCTimeRatio=9 -server >> -XX:+DisableExplicitGC >> >> (I replaced -Xss256k with -Xss1280k to stop crashing see >> https://issues.apache.org/jira/browse/DAEMON-365) > > The links in that issue go to a thread that explains that the issue > is actually caused a kernel bug. It was reported & diagnosed in > June 2017, thus should it have already been fixed? > > 1,2 Mb of stack for each thread mean that for 200 threads you will > need 240 Mb of memory just for thread stacks. Most of that is > wasted memory: You do not need to increase -Xss unless you are > hitting StackOverflowError. > >> Is there a way to limit the total-vm or find out why its got so >> big? -XX:+DisableExplicitGC ?? >> >> Standard tomcat install with apache/modjk. > > https://wiki.apache.org/tomcat/FAQ/Linux_Unix#Q5 > > In Tomcat Manager web application there is "Server Status" page. > It has a table that shows current memory consumption, as reported > by Java. The values can also be queried via JMX (e.g. with > jconsole application). Linux oom will use the actual process's used memory to compute its killability, so the Java-reported memory usage won't tell the whole stor y. Greg, how much total memory does the server actually have? Do you have other services running on it as well? If you run low on memory, Linux will simply kill your process. There are ways to minimize the likelihood that your process will be killed, but if it's the only way to free-up memory that the kernel is convinced it needs, well, then your process is simply going to die. One way to reduce your memory usage would be to reduce the heap size you are using. Do you need that much heap? It's also possible that you have a native memory leak somewhere, possibly caused by code outside of your control. Do you have any native components involved that don't ship with the JVM (or jsvc)? I'm unaware of any memory issues with jsvc, but I'm not super familiar with it. - -chris -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAloFvOIACgkQHPApP6U8 pFhPdBAAyvgvwEovYQXGpDDVZ2c3JwkzyKjQrWboW9wYjKsPTjy+xGiDqVfhxCLC ukbQL6spVYlqc1y5N+5i2iyqX+JRKa7OA3unvFRDrpxJDOfJmDqwBavJ8xlpl9mX v/E/WMPXAgZLYK05aPCsul7/ewavahADi2vwt2SQgUE9ARrV/qN7QXYPaa6XwNjM SSb35dWK0k9pDCl2OrKfFOEgm3nsY+P6FKx29k1z/8sAYBYQJRC/slBboqsj7uzj X4DFThtKvkiPGRSjzEeDmkthMN7CFz1QFHa3NaPDkj5Zjv7mUfLZRdHB0ETlQdvq Zx2md/OZBw/EoE5j+K/C9yfK6qwcdgHX2zsHdwbweC/QZJrFVaf9VxfaXmeZavLX KXYRhk3W1R93/QigXVjPxMod1ToiLjSzGPG34F1jkC/FBj7X359dZokL6pLl6hDw h+6M5rUxWevLVdKg9gWX8peT/jxk4P7KInWjdH2oI4Rl40vMbSPA23qWkaVTbHfG WWsdDMWrmxNW2e+zzNRCikjMT6ksWas18tzgn9KVWy8cau8yy208d0opSUloUZht 2LwUhrEKmbZjQywyyq/7MyXTIwMeAg6y3xJ04al6ZBp7YnrmW/zhay4yaT2ZBJ8R E1PnVf1MPnOAIHIev562CadG/FiveQ0n94/7KMiQf81YgIiFQeo= =AXyl -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org