Thanks for your time and help , i solved it by update my RAM to be 8 GB instead of 4 GB
On Tue, Apr 19, 2016 at 2:41 AM, sam mohel <[email protected]> wrote: > I want to take your opinion , Should i increase RAM of my laptop , is that > a good solution for GC OOM ? > > Thanks > > On Sat, Apr 16, 2016 at 11:36 PM, sam mohel <[email protected]> wrote: > >> i'm really sorry for my lt questions >> problem still but i noticed that when i changed size of worker to be >> -Xms4g it be read -Xmx768m >> >> May be this is the cause of GC problem beacuse it still not read high >> number ? >> >> On Thu, Apr 14, 2016 at 10:50 PM, sam mohel <[email protected]> wrote: >> >>> Thanks for your help . another thing I want to mention it . the code >>> used spout.max.pending =50.000.000. And threshold for as 0.4 . code worked >>> well but after changed in calculations using hashmaps with same pending of >>> spout and same threshold . I got this error . the basic file which has >>> tweets containing 50.000 tweets . I tried to decreases pending for 10.000 >>> but didn't work . error still . >>> >>> How can I increase size of memory for worker ? I know it I'll from >>> storm.yaml but which number should I choose and structure of line that I >>> will write it ? >>> >>> On Thursday, April 14, 2016, Alexander T <[email protected]> >>> wrote: >>> >>>> GC overhead limit errors are typical when you are slowly filling up >>>> RAM. When available memory is running low the JVM eventually spends almost >>>> all its time GC:ing and this error is raised. >>>> >>>> Most likely you are slowly filling up all available memory with your >>>> maps. This might be hard to spot in VisualVM given the short timeframe you >>>> sampled. Try to supervise it over time and see what happens. >>>> >>>> What you need to do is to make sure that you are not just growing your >>>> maps indefinately. How you do that is implementation dependent. If you have >>>> a large but fixed but number of items to put in the map you can increase >>>> memory so that you will never use it up. Otherwise you will have to set a >>>> max size of your map or otherwise prevent tracking all items forever. Maybe >>>> a cache instead of a simple hashmap? >>>> >>>> Cheers >>>> Alex >>>> On Apr 14, 2016 1:05 AM, "sam mohel" <[email protected]> wrote: >>>> >>>>> thanks i tried it but error still , i thinks you are right and Andey >>>>> too about hashmap >>>>> because the code i have i changed it by increasing another >>>>> calculations using hashmaps >>>>> >>>>> i ran the code without any update in my machine and workerd well >>>>> without any problem with GC >>>>> but after i changed it by adding another hashmaps this error appeared >>>>> i mean GC overhead >>>>> so the best solution that you told me before is to remove but i >>>>> couldn't find or know how can i remove it and where >>>>> do you mean by removing >>>>> >>>>> like >>>>> h.remove(); ? >>>>> >>>>> and where can i remove it ? the code using trident >>>>> >>>>> On Wed, Apr 13, 2016 at 4:22 PM, Spico Florin <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi! >>>>>> For the issue you have to exclude the storm-core from your >>>>>> generated fat jar. You use maven as far I as understood, therefore you >>>>>> have >>>>>> to use something like this: >>>>>> set the scope for the storm-core dependency to compile. >>>>>> <dependency> >>>>>> <groupId>org.apache.storm</groupId> >>>>>> <artifactId>storm-core</artifactId> >>>>>> <version>0.10.0</version> >>>>>> <scope>compile</scope> >>>>>> </dependency> >>>>>> >>>>>> Please check. >>>>>> Regards, >>>>>> Florin >>>>>> >>>>>> On Wed, Apr 13, 2016 at 5:17 PM, sam mohel <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> 1- i set debug for true in the code , i'm using trident and as i run >>>>>>> code in local mode using maven command i didn't get >>>>>>> for second point it didn't work >>>>>>> >>>>>>> Caused by: java.lang.RuntimeException: Found multiple defaults.yaml >>>>>>> resources. You're probably bundling the Storm jars with your topology >>>>>>> jar. >>>>>>> [jar:file:/usr/local/storm/lib/storm-core-0.9.6.jar!/defaults.yaml, >>>>>>> jar:file:/home/user/.m2/repository/org/apache/storm/storm-core/0.9.6/storm-core-0.9.6.jar!/defaults.yaml] >>>>>>> >>>>>>> 2- i tried to run topology in production mode and got >>>>>>> Exception in thread "main" DRPCExecutionException(msg:Request timed >>>>>>> out) >>>>>>> >>>>>>> should i increase >>>>>>> drpc.request.timeout.secs: 600 >>>>>>> >>>>>>> as the file that code will use it to get results contains 50.000 >>>>>>> tweets , so should i increase time request for drpc ? >>>>>>> >>>>>>> >>>>>>> On Tue, Apr 12, 2016 at 2:22 PM, Spico Florin <[email protected] >>>>>>> > wrote: >>>>>>> >>>>>>>> Hi! >>>>>>>> 0. I agree with Andrey that you put a large map (dictionary) on >>>>>>>> the heap that you are loading it without remove anything to it. >>>>>>>> 1. For running the topology in LocalCluster you can use a code >>>>>>>> like this inyour main class (that runs the topology and has the public >>>>>>>> static void main method): >>>>>>>> TopologyBuilder builder = ...//your topology >>>>>>>> Config conf = new Config(); >>>>>>>> >>>>>>>> conf.setDebug(true); >>>>>>>> >>>>>>>> if (args.length == 0) { >>>>>>>> LocalCluster cluster = new LocalCluster(); >>>>>>>> >>>>>>>> cluster.submitTopology("Hello-World", config, >>>>>>>> builder.createTopology()); >>>>>>>> >>>>>>>> >>>>>>>> } >>>>>>>> 2. If you have an environment like eclipse, you can run your code >>>>>>>> by setting the -Xmx2048m for your topology main class (has the public >>>>>>>> static void main method) like this: >>>>>>>> a)Run your Java main class as Java application (this will >>>>>>>> create a launch configuration with the name of your class) >>>>>>>> b) Go to Run Configurations -> Go to your launch configuration >>>>>>>> having the name of your class >>>>>>>> c) Go to the VM arguments tab -> add your -Xmx2048m flag >>>>>>>> >>>>>>>> 3. If you run your topology on the cluster in order to see how much >>>>>>>> memory you have allocated to your worker >>>>>>>> a) go to the storm ui ( http://<your_storm_UI_IP>:8080/) >>>>>>>> b) check the worker.childopts nimbus configuration >>>>>>>> >>>>>>>> I hope that these help. >>>>>>>> Regards, >>>>>>>> Florin >>>>>>>> >>>>>>>> On Mon, Apr 11, 2016 at 5:38 PM, Andrey Dudin <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> *sorry again how can i know XmX and XMs in my JVM? * >>>>>>>>> If you are using linux, you can use this command: ps -ef | grep >>>>>>>>> java. >>>>>>>>> Then find your topology in process list. Or add >>>>>>>>> *-XX:+PrintCommandLineFlags* to worker childopts. >>>>>>>>> >>>>>>>>> Please add this params to worker.childopts: -XX:+PrintGCTimeStamps >>>>>>>>> -XX:+PrintGCDetails -Xloggc:gc%ID%.log >>>>>>>>> for dump GC activity to logfile. >>>>>>>>> >>>>>>>>> >>>>>>>>> *how can memory not active and it is not leak and i need to extra >>>>>>>>> it * >>>>>>>>> Objects can use heap for it live. Without source code complicated >>>>>>>>> say whats wrong. Just try to add memory and look at GC monitor. >>>>>>>>> >>>>>>>>> >>>>>>>>> May be useful: >>>>>>>>> "To begin, we need to run the application with the largest >>>>>>>>> possible amount of memory than is actually needed application. If we >>>>>>>>> did >>>>>>>>> not know initially how many will take our application in mind - you >>>>>>>>> can run >>>>>>>>> the application without specifying the -Xmx and -Xms and HotSpot VM >>>>>>>>> will >>>>>>>>> select the size of memory. If at the start of the application we will >>>>>>>>> get >>>>>>>>> OutOfMemory (Java heap space or PermGen space), then we can >>>>>>>>> iteratively >>>>>>>>> increase the available memory size (-Xmx or -XX: PermSize) until the >>>>>>>>> error >>>>>>>>> does not go away. >>>>>>>>> The next step is to calculate the size of long-lived live data - >>>>>>>>> is the size of old and permanent areas of the heap after a phase of >>>>>>>>> full >>>>>>>>> garbage collection. This size - the approximate amount of memory >>>>>>>>> required >>>>>>>>> for the functioning of the application, to obtain it, you can see the >>>>>>>>> size >>>>>>>>> of the area after a series of the complete assembly. Usually the size >>>>>>>>> of >>>>>>>>> the memory required for the application -Xms and -Xmx 3-4 times more >>>>>>>>> than >>>>>>>>> the amount of live data." >>>>>>>>> >>>>>>>>> >>>>>>>>> 2016-04-11 16:53 GMT+03:00 sam mohel <[email protected]>: >>>>>>>>> >>>>>>>>>> @Florin >>>>>>>>>> thanks for replying , really iam using 3 hashmap in my code >>>>>>>>>> please how can i debug the code in local mode ? >>>>>>>>>> after error appeared visualVM closed my application , should i >>>>>>>>>> run it again to see what i got in the profiler tab ? i saved what i >>>>>>>>>> got in >>>>>>>>>> heapdump , should i use it or get something from it ? >>>>>>>>>> >>>>>>>>>> sorry again how can i know XmX and XMs in my JVM? >>>>>>>>>> >>>>>>>>>> Thanks a lot >>>>>>>>>> >>>>>>>>>> @Andrey >>>>>>>>>> Thanks for replying i've question about memory it's first time >>>>>>>>>> deal with that problem >>>>>>>>>> how can memory not active and it is not leak and i need to extra >>>>>>>>>> it >>>>>>>>>> how can i change GC trigger ? >>>>>>>>>> >>>>>>>>>> Thanks a lot , Really thanks for helping >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Mon, Apr 11, 2016 at 2:18 PM, Andrey Dudin < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> There is not memory leak. Your memory graph show that memory not >>>>>>>>>>> active using. Likely you use a big object\map\etc in memory. GC >>>>>>>>>>> don't stop >>>>>>>>>>> working because level of free memory is low. You need to extra >>>>>>>>>>> memory or >>>>>>>>>>> change GC trigger. >>>>>>>>>>> >>>>>>>>>>> 2016-04-11 7:31 GMT+03:00 sam mohel <[email protected]>: >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> @spico there is what i got after ruuning code again in local >>>>>>>>>>>> mode , how can i know if there is memory leak or not ? >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Fri, Apr 8, 2016 at 1:45 AM, sam mohel <[email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> sorry it's supposed to use hashmap.remove() to not to make it >>>>>>>>>>>>> reach to heapsize right ! >>>>>>>>>>>>> >>>>>>>>>>>>> On Fri, Apr 8, 2016 at 1:43 AM, sam mohel <[email protected] >>>>>>>>>>>>> > wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Really thanks for your patience , what i got about hashmap >>>>>>>>>>>>>> you mentioned that it's supposed not to use hashmap.remove(); >>>>>>>>>>>>>> Right ? >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Thu, Apr 7, 2016 at 10:45 AM, Spico Florin < >>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hi! >>>>>>>>>>>>>>> By release the hashmap, I mean that you need to remove the >>>>>>>>>>>>>>> keys at some points. Meaning hashMap.remove(key). If you just >>>>>>>>>>>>>>> use >>>>>>>>>>>>>>> hashMap.put() in the nextTuple method of the spout or in the >>>>>>>>>>>>>>> execute method >>>>>>>>>>>>>>> of the bolt, and never use the hashMap.remove() and your >>>>>>>>>>>>>>> hashMap is a field >>>>>>>>>>>>>>> in the Bolt or Spout class, then your map will grow and you'll >>>>>>>>>>>>>>> reach your >>>>>>>>>>>>>>> heap Size. >>>>>>>>>>>>>>> The issue that yo have with the jvisualvm is that you have >>>>>>>>>>>>>>> installed only the Java Runtime Evironment (only the java vm) >>>>>>>>>>>>>>> but not the >>>>>>>>>>>>>>> the JDK (Java Development Kit) . Please install the JDK. >>>>>>>>>>>>>>> After installing look at hashmap classes. Check the memory >>>>>>>>>>>>>>> size for them. Run GC and check if the memort size for them >>>>>>>>>>>>>>> grows. If they >>>>>>>>>>>>>>> grow even after GC then you could have a memory leak. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I hope that it helps. >>>>>>>>>>>>>>> Florin >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Wed, Apr 6, 2016 at 8:49 AM, sam mohel < >>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> @florin >>>>>>>>>>>>>>>> i used this command java -XX:+PrintFlagsFinal -version | >>>>>>>>>>>>>>>> grep HeapSize >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> and got >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> uintx ErgoHeapSizeLimit = >>>>>>>>>>>>>>>> 0 {product} >>>>>>>>>>>>>>>> uintx HeapSizePerGCThread = >>>>>>>>>>>>>>>> 87241520 {product} >>>>>>>>>>>>>>>> uintx InitialHeapSize := >>>>>>>>>>>>>>>> 63056640 {product} >>>>>>>>>>>>>>>> uintx LargePageHeapSizeThreshold = >>>>>>>>>>>>>>>> 134217728 {product} >>>>>>>>>>>>>>>> uintx MaxHeapSize := >>>>>>>>>>>>>>>> 1010827264 {product} >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Wed, Apr 6, 2016 at 12:44 AM, sam mohel < >>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> sorry i forgot to mention that my ram is 3.8 GB and i used >>>>>>>>>>>>>>>>> hahsmap in the code but i don't know what do you mean by >>>>>>>>>>>>>>>>> release it ? >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Wed, Apr 6, 2016 at 12:20 AM, sam mohel < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> @ florin thanks for replying , i installed tool but got >>>>>>>>>>>>>>>>>> when i ran it >>>>>>>>>>>>>>>>>> i checked update-alternatives --config java >>>>>>>>>>>>>>>>>> There are 3 choices for the alternative java (providing >>>>>>>>>>>>>>>>>> /usr/bin/java). >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Selection >>>>>>>>>>>>>>>>>> Path Priority >>>>>>>>>>>>>>>>>> Status >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> ------------------------------------------------------------ >>>>>>>>>>>>>>>>>> 0 >>>>>>>>>>>>>>>>>> /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 >>>>>>>>>>>>>>>>>> auto mode >>>>>>>>>>>>>>>>>> * 1 >>>>>>>>>>>>>>>>>> /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 >>>>>>>>>>>>>>>>>> manual mode >>>>>>>>>>>>>>>>>> 2 >>>>>>>>>>>>>>>>>> /usr/lib/jvm/java-6-oracle/jre/bin/java 1062 >>>>>>>>>>>>>>>>>> manual mode >>>>>>>>>>>>>>>>>> 3 >>>>>>>>>>>>>>>>>> /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 >>>>>>>>>>>>>>>>>> manual mode >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Sun, Apr 3, 2016 at 9:19 PM, Spico Florin < >>>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> hi! >>>>>>>>>>>>>>>>>>> before increasing the ram (by rpoviding in command line >>>>>>>>>>>>>>>>>>> arguments the jvm options java -Xmx) try to use a profile >>>>>>>>>>>>>>>>>>> tool such as >>>>>>>>>>>>>>>>>>> jvisualvm jprobe to see if you have amemory leak. do you >>>>>>>>>>>>>>>>>>> use a cache (for >>>>>>>>>>>>>>>>>>> example hashmap where you store some data but never relese >>>>>>>>>>>>>>>>>>> it). how much >>>>>>>>>>>>>>>>>>> ram do you have on your machine? check your default heap >>>>>>>>>>>>>>>>>>> size with the help >>>>>>>>>>>>>>>>>>> of this link >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> http://stackoverflow.com/questions/4667483/how-is-the-default-java-heap-size-determined >>>>>>>>>>>>>>>>>>> regards florin >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Sunday, April 3, 2016, sam mohel <[email protected]> >>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>> > do you mean in storm.yaml ? or where ? >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> > On Sun, Apr 3, 2016 at 11:56 AM, Andrey Dudin < >>>>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>>>> >> Try to extra more RAM for this topology. >>>>>>>>>>>>>>>>>>> >> -Xms and -Xmx options >>>>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>>>> >> 2016-04-03 1:32 GMT+03:00 sam mohel < >>>>>>>>>>>>>>>>>>> [email protected]>: >>>>>>>>>>>>>>>>>>> >>> >>>>>>>>>>>>>>>>>>> >>> i'm facing problem with topology i ran it in local >>>>>>>>>>>>>>>>>>> mode and got >>>>>>>>>>>>>>>>>>> >>> Async loop died!java.lang.OutOfMemoryError: GC >>>>>>>>>>>>>>>>>>> overhead limit exceeded >>>>>>>>>>>>>>>>>>> >>> >>>>>>>>>>>>>>>>>>> >>> Can you help on this ? if there is any data you need >>>>>>>>>>>>>>>>>>> for helping just tell me >>>>>>>>>>>>>>>>>>> >>> >>>>>>>>>>>>>>>>>>> >>> Thanks in advance >>>>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>>>> >> -- >>>>>>>>>>>>>>>>>>> >> С уважением Дудин Андрей >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> С уважением Дудин Андрей >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> С уважением Дудин Андрей >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >> >
