Help required with understanding References and finalizers

Background
I have an online Application which has been developed over 6 years now. It is a Website CMS and runs 300 simultaneous sites per webserver. For the first time I am experiencing capacity / performance issues. I switched from SUN Java to JROCKIT in 2006 which speeded evertything up by 200% but now I have periods of the day where The memory fills up and I get Swapping which leads to 100% cpu utilization - mainly in I/O. I have upped the RAM in the server as a solution and now I want to see if I can do anything to reduce my memory footprint.
Specifically : The question
I have captured stats which I can view in Mission Control and it shows that the number of Weak References increases continuously over a 4 hour period (also the number of Phantom references shows similar behaviour). Therefore I suspect a memory leak - Also I suspect that this is of my own making since I have not realy had to deal with this before. The thing is I cannot clearly see how to proceed and identify what my error is.
I have spent a couple of weeks reading loads of docs about weak / stong etc.. references but I realy need a bit of help with zeroing in on a starting point. I know that I release objects by setting them to null but I now expect that this is not realy good enough.
Anyway - before I ramble too long, If there is anyone with relevant experience and a few minutes I would be very gratefull to hear from them.
Regards
Jonathan Carter
Glimworm IT
Amsterdam

Hi Jonathan,
Reference objects and finalizers are a frequent cause of performance issues. The reason is that 1) objects tend to be kept alive longer, leading to an increase in live data and more frequent GC and 2) processing of these objects during GC is expensive, which leads to more time spent in GC, i.e. long pause times.
There are various ways you can approach your issue. One is to use -Xverbose to see what you find. If you are using JRockit R27.2 or later, run with "-Xverbose:referents" to get a list of all reference objects at every GC. More info:
http://edocs.bea.com/jrockit/jrdocs/refman/optionX.html#wp1029960
Note that you can enable verbose logging during runtime through "jrcmd <pid> verbosity set=referents" and later disable it using "jrcmd <pid> verbosity set=referents=warn". No JVM restart required.
If you send your JRA recordings to jrockit-improve AT bea DOT com, we'll try to take a look at them.
-- Henrik

Similar Messages

  • Help required with Photoshop Elements 4.0 this has been installed on my new Toshiba laptop with windows 8.1 for some 18 months and operating well. Now it will not open, message pops up saying "attempt to access invalid address" then "application not respo

    Help required with Photoshop Elements 4.0 this has been installed on my new Toshiba laptop with windows 8.1 for some 18 months and operating well. Now it will not open, message pops up saying “attempt to access invalid address” then “application not responding” Suggestions how to access would be much appreciated. Tks. Stuart

    What is the size of your hard disk?  PSE 4 is a very old program and I suspect it is not able to access the entire hard disk on your machine.  Just a thought here.

  • Help require with installing Adobe Acrobat onto my Macbook Pro Retina.

    Help require with installing Adobe Acrobat onto my Macbook Pro Retina.
    I have successfully installed all of my creative cloud apps with the exception being acrobat.
    I cannot print from Indesign to PDF.
    I have unistalled, reinstalled and still no Adobe Acrobat.
    I now have to go back to Windows 8 and create the PDF's there.
    Any one know how to get around this issue?
    Thanks in advance
    Kelvin

    OSX has effectively killed the ability to print to pdf, (print to pdf eliminates most of the "Rich features" of current pdf).
    Export from InDesign, always, excpet for the 1% of the time where you know why print to pdf would produce a better result.

  • Help required with (soundcard) connection / settings, thanks in advan

    Help required with connection / settings between a Creative Sound Blaster Audigy Platinum EX (soundcard) and a Creative DTT3500 Digital (5. speakers).
    The problem
    No sound from any of the speakers. (Exception can plug in headphones at front)
    Background
    My computer has been recently upgraded at my local computer shop and all programs re-installed (including driver update from Creative's website). However after reconnecting speakers and restoring the original settings I?m getting no sound from any of the speakers. I?ve followed all the available advice/instructions I can find on this website and manuals to no avail.
    Set-up
    Physical
    (Digital DIN) Speakers/decoder amplifier (DTT3500) connected to the (digital out) soundcard (Audigy Platinum EX) using minijack to DIN cable. (As per instruction manual)
    Software
    Creative Audio Consul ? setting as per instructions, however have tried variations in vain. (Note: above tabs there is a select device box with SB Audigy [A0000] in it ? only option. Just wondering what [A0000] means?)
    Your advice please. A simple step by step guide would be appreciated, many thanks in advance, Jon

    "My computer has been recently upgraded at my local computer shop and all programs re-installed (including driver update from Creative's website). "
    Do you have the original installation disk?
    If so, try installing THOSE drivers, ESPECIALLY if it worked before. Be sure to uninstall what is there now, first.
    Its natural for most people to want the 'latest' drivers for their hardware. However:
    After experiencing some difficulties with some CL 'updates' for certain products, I now avoid them UNLESS I am having a PROBLEM with the existing drivers.

  • Order with Serialized PTO Item with IB reference and Serial Number

    I want to get to Orders with Serialized PTO Item with IB reference and their Serial Numbers.
    I would like to know how I can link sales orders to IB. I wrote the foll. sql query but I am not sure if this is accurate. I am fairly new to this.. so any help is appreciated.
    SELECT DISTINCT oeh.order_number,
    --oel.line_id, oel.ordered_quantity, mtl.inventory_item_id,
    mtl.segment1 part, mtl.item_type,
    cii.serial_number
    FROM apps.oe_order_lines_all oel,
    apps.oe_order_headers_all oeh,
    apps.csi_item_instances cii,
    apps.mtl_system_items_b mtl
    WHERE oel.inventory_item_id = cii.inventory_item_id
    AND cii.inventory_item_id = mtl.inventory_item_id
    AND mtl.item_type = 'PTI'
    AND oel.header_id = oeh.header_id
    AND oel.org_id = oeh.org_id
    AND oeh.sold_to_org_id = cii.owner_party_account_id
    AND cii.serial_number IS NOT NULL

    You want instances that are at the customer site right (last transaction is shipping) or all the instances that have been shipped before no matter what the current status is. Instance could have been returned and shipped again and so on or just returned and disposed.The second question will yield more instances compared to the first one.
    Thanks
    Nagamohan

  • Hello, we have both Creative Cloud and Creative Cloud for teams. Can you help me with the difference and if i need to have both?

    Hello, we have both Creative Cloud membership and Creative Cloud for team. Can you help me with the difference and if i need to have both? We have 9 employees that are using it. Just not sure if i'm paying for something i don't need.
    Thank you

    Please refer to Creative Cloud Help | Creative Cloud / Common Questions
    CC is for retail use with 20 GB of storage space, CCT is where number of seats are purchased & assigned by one program admin where each seat gets 100GB of storage space.
    You can not have both the CC & team in one account as it will only provide you added storage space of 120 GB but you can activate the CC any of them or either of them twice as CC is based on Adobe ID.
    Regards
    Rajshree

  • Help required in understanding the flow of control in working with EJB 3.0

    *1. Can anyone help me in understanding the flow after getting an object of InitialContext in using Stateless/Stateful in EJB 3.0 from client i.e. what we are getting in the step Object ref=jndiContext.lookup("CalculateBean/Remote) .*
    *2. What is the use of INITIAL_CONTEXT_FACTORY*
    *3. PROVIDER_URL*
    *4. Java.naimg.factory.url.pkgs*
    *5. why org.jboss.naming and org.jnp.interfaces separated by semi colon.*
    *6. Why we dont require INITIAL_CONTEXT_FACTORY, PROVIDER_URL and Java.naming.factory.url.pkgs if the client is a web client.*
    Properties p=new Properties();
              p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
              p.put(Context.PROVIDER_URL,"jnp://localhost:1099");
              p.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
              Context jndiContext = new InitialContext(p);
         Object ref = jndiContext.lookup("CalculateBean/Remote");
    Calculate c = (Calculate)ref;
    int sum=c.add(3,4);
    System.out.println(sum);
    Thanx in advance........

    Annotations can also be processed at run time using the core reflection API (java.lang.Class & java.lang.reflect.*), so you might want to explore down that path. I have no idea how JBoss actually does it, but annotation processing at build time and core reflection at runtime are the two most obvious possibilities.
    Bruce

  • Help required to understand interactive SWF appearance on various browsers and pc's

    I have created an interactive newsletter for global distribution.
    My work machine uses a resolution of 1280 x 1024
    However, my company uses different browsers and laptops globally, as we have approx 150,000 employees.
    The Indesign pages are 1000 x 800 px
    When I sent out a few test files, I received various issues from different people.
    Some using IE6, IE7 and IE8 complained that although their resolutions were 1280 x 800, or 1280 x 1024, the  top and bottom of the swf files were either cut off or the file was presented with text too small to read.
    Using Firefox, some of the people also said that the file presented with the top and bottom cut off.
    My own PC using either IE8 or Firefox @ 1280 x 1024 presents the file perfectly fine.
    Now, with IE 8 and firefox, by either using the CTRL + middle mouse wheel, or CTRL and + or - the SWF file resized correctly by zooming in and out.
    For IE6 the user would need to right click and choose Zoom in or Zoom out.
    Most users are, and I am not being patronising here, not computer savvy, and would not generally know how to perform this option. They simply use the computers to do their job and panic if a java updated is presented.
    I need to avoid this if I am to pursue the interactive SWF file approach.
    Has anyone else experienced this and can you offer a solution that, no matter the resolution ot Browser used the SWF file will present correctly all the time?
    thanks

    The usual approach is to assume the smallest pixel dimension for a desktop is 1024x768, so you set the flash stage at around 900x650. If you are coding in Actionscript there is the option to listen for a browser resize and rearrange the objects on the stage to fit the space, but that's not an option saving out of ID. The best approach is to setup your ID page to 900x650,  and make sure the text is readable at 100% view.

  • Can you help me with Page Layout and/or Design ideas for a software manual?

    Greetings,
    I am a new InDesign user, and am converting a software manual that I created in MS Word into InDesign. It will be converted to a pdf to view online. I have the basics (3 master pages, page numbers, running headers, 2column pages with text boxes on the left and screenshots on the right), but I want to make it look prettier. Could you please give me some ideas on page layout and/or design to make it look better or more creative?
    A few things that I am considering: borders around screenshots, a watermark, a logo next to the page numbers, different size/type of fonts, etc.
    I am open to any suggestions to make this look better. However, please understand that I am new to InDesign. With that being said, please tell me a few steps when you mention your tips. Thank you!

    Take a look at a few websites on Cannons of Page Construction.
    I think the best idea for you is to look at a few software manuals and take tips from how they accomplished the layouts.
    I'm not saying to copy them - but rather see what works and doesn't work, what worked for them might not necessarily work for you - research some layouts.
    Fonts/type/sizes etc. are pretty much ambigious without context - is this a software manual for kids (soft cuddly big fonts easy to read), technical (small, tight spacing etc), Adult friendly (smooth, crisp clear, well spaced), elderly (large elegant fonts).
    It all really depends on your demographic audience.
    Being new to InDesign I suggest you take up Sandy Cohens Quickstart Visual Guide.
    I think you should look at Michael Murphys Book on Styles
    And you should definitely get your printer (the guys bulk printing) the booklet for you on board from the start to work out optimal sizes to suit their printing presses and workflow etc. And to ensure that you are setup correctly in page sizes, margins, safe type areas, colour profiles and a few other things that your printers prepress can help you with.

  • Help required in understanding of static blocks in java

    Hi ,
    Can some one help me in understanding the difference between static blocks in java....also what is the difference in declaring some static variables in a class and and declaring some variables in a static block? From an architecture viewpoint when should one use static blocks in Java?

    Static blocks are piece of code that can beexecuted
    before creating an instance of a class.static blocks are executed once, when the class
    itself is loaded by the JVM. They are not executed
    before creating each instance of a class.
    For example whatever you include in the mainn method will be
    executed without you having to create the instanceof
    the class using the new operator. So you can saythe
    main method is a static block.main is not a static initialisation block but a
    static method. a special case static method at that -
    it is only executed when the containing class is
    specified as a parameter to the JVM. (unless you
    specifcally call it elsewhere in code - but that
    would be bad form).
    in answer to the original post, static variables
    belong to the class. each instance of the class share
    the same static variables. Public static vars can be
    accessed by prefixing them with the class name. A
    static initialisation block can be used to
    initialise static variables. Variables declared
    within the static initialisation block exist only
    within the scope of the block.
    e.g.
    public class Foo {
    static Bar bar;        // static member variable
    // static initialisation block
    static {
    // variable declared in static block...
    String barInfo =
    arInfo = System.getParameter("barInfo");
    // ... used to initialise the static var
    bar = new Bar(barInfo);
    So is the only purpose of static initialization blocks is to initialize static variables? Does the initialization of static variables inside a static block make any difference in performance? If yes , then how ?

  • Problem with find reference and overshooting limits

    I have a two axis system set up (with a 7344 and UMI-7764), axis 2 uses a lead screw and the find center VI works properly, axis 1 however has a much longer travel and uses sprockets and cables to move and is therefore less rigid.  When attempting to find center, unless I run the axis very slowly, when the carriage hits the forward (or reverse) limit it overshoots the limit (inertia) and when the motor jogs to move off the limit it doesn't move far enough to release the switch and identify the location of the limit.
    Is there a way to increase distance that the axis will move to back away from the limit and find its exact location?  I would like to use a fairly high velocity to find center because the travel distance of the axis is up to 10 m and it takes quite a while to located center at the speed I am currently using.
    Thanks

    Good morning David,
    The Offset Move, in counts, is the function or feature that you are looking for.  It is on the Find Reference Settings in MAX, just below the location where the approach velocity is specified.  This is under each specific axis inside of the Default Settings.  The Offset Move specifies the number of counts the system should move to after the Reference Location is found.
    I hope that this information is helpful.  If this is not what you are looking for, please post back and I will do my best to answer your questions!
    Respectfully,
    Jeffrey P.
    LabVIEW Product Management
    National Instruments

  • Help Required with HD Backup

    Hi,
    A Friend of mine has a PC with windows on 2x Samsung 320gb HD's in Raid 0, one of the drives started to fail, so he put in his 1tb backup drive that he made a hd image using boot it dos software. He has now purchased 2x Corsair M4 128gb SSD's and made a volume Raid 0, when trying to backup from the 1tb drive the software says that a min hd of approx 320gb is required even though the total used on windows in only approx 140gb. and the new SSD volume is approx 240gb
    The software is by terrabyte.
    also when we did a hd tach with 1x ssd and 2x ssd the performance was similar, not mutch gain. I am not familiar with SSD or HD image backups so please advise. or is there any other software recomendations.
    Thanks

    Well most software imaging requires the same size as the source.  What in the
    world is the objective of a RAID 0 boot disk.  As has been said here while it
    may help load a program faster, it will not run the program faster
    Also HDtach is not a good benchmark for SSD's
    Bill Gehrke

  • Help dealing with URL Services and Firewall

    All,
    We have recently installed the PDK URL Services for Portal to help
    fulfill a requirement to enable Single Sign-On to access web sites
    outside our client's network. We have hit a snag though, in that the
    client has in place a firewall that challenges the browser at each
    request to access an outside site. URL Services does not seem equipped
    to handle these extra challenges in addition to the Single Sign-On
    Username and Password requirements.
    Has anyone dealt effectively with this problem? Is there an effective
    remedy or technique using SSO /URL Services providers that will allow
    this to take place? Can we more effectively use the built in proxy
    services to help us with this?
    We are currently using the latest URL Services download under Portal
    3.0.9.8.2 on Solaris.
    Thanks in advance for any help on this, our need is urgent, and time is
    short.
    Stuart Dautrich

    Stuart,
    I guess you're currently in touch with the appropriate people for this issue now.
    It would be great if you share your experience and tips with other users too.
    Thanks,
    Mohana

  • Help required with submit button

    Hi,
    I need a little help with the submit button. The user submits the form as PDf to a servelt using submit button. The form submitted is validated at server side. If there are any errors the error messages are to be displayed to the user as a part of Form.
    My approach was to have a hidden field present in the form. Once the error messages are recieved the field is to be populated with these messages and made visible true.
    Problem with my approach:
    1) How to send back data to the field using the servlet code which we have?

    Unless if you use a Webservice, sending data back to form from the Servlet may not possible.
    Once the form submits the data to the Servlet, the connection will be lost between the form and Servlet.
    But if you use a Webservice, you can trap the response and display it to the user.
    Other alternative to Servlet approach is, display a another page in the browser with the response.
    So the user after submits will be notified of the result in a new window.
    Thanks
    Srini 

  • Immediate help required with this job scheduling scenario

    I have a job that needs to run a procedure hourly but not between 6:00 AM to 8:00 AM and 6:00 PM to 8:00 PM.
    Can anyone help me with how to schedule this job.

    If you use a window the job would only execute if the window opens. If for some reason the window did not open then the job would not execute.
    Windows should be used to specify which resource plan should be active for the time interval.
    In this case you are better off using FREQ=DAILY; BYHOUR=; and specify the hours.

Maybe you are looking for

  • [solved] Wrong display of fonts (all square boxes now)

    Hi! I tried Infinality  (https://wiki.archlinux.org/index.php/Fo - Infinality) for font-hinting a few days / weeks ago. Everything worked fine until I recently did - like every day - a pacman -Syu since that update my Fonts are all Squares now. Only

  • I lose memory from Macbook's hard drive after syncing iPhone

    Today I synced my iPhone. My Macbook Pro had about 6 gigs of free space when I synced. During the sync, a message popped up saying my "Startup Disk" was low. I checked my memory usage after the sync and my 6 gigs of free space had shrunk down to less

  • Message not going to the receiver ABAP Proxy

    I have a File-XI-ERP scenario.  The file communication channel is working fine but the sending to the ABAP proxy for transfer to ERP is not working.  I have created the right ID objects for the scenario.  Using the communication channel monitoring, t

  • Where do I get JRE?

    Hello, I downloaded the 815shipstd.* files and unpacked them successfully. However, the installer uses a version of JRE that seems to be different from the only one out there for Linux (RedHat 6.0) that I could find. Where can I download the version

  • UrlConnection not getting latest content

    I have an applet that reads the contents of a file on the server once per second and displays it. The file contains one line that describes the status of a process. The problem is there is a 15-20 second delay between when the file is updated and whe