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
>>>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>>>> >>
>>>>>>>>>>>>>>>>>> >> --
>>>>>>>>>>>>>>>>>> >> С уважением Дудин Андрей
>>>>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> С уважением Дудин Андрей
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> С уважением Дудин Андрей
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>

Reply via email to