Question on HProf

Hello
OS : Solaris
JRE Version : 1.5.0_08_b03
Under normal circumstances my JVM works fine.
If I pass parameters as, -agentlib:hprof=heap=sites, in the created hprof.txt file, I see the memory occupied by many of the objects. But it does not contain the memory occupied all objects.
When I modify the parameter as -agentlib:hprof=heap=dump or -agentlib:hprof=heap=all, JVM starts up, but after 10 mins, it dies with the following error message:
HPROF ERROR: Cannot allocate malloc memory [../../../src/share/demo/jvmti/hprof/hprof_util.c:160]
HPROF TERMINATED PROCESS
In this case, hprof.txt doesn't contain any data other than standard header.
Could someone let me know, why does JVM dies for the options, "dump" & "all"
Thanks in advance for the help.

I was seeing the same error, but for heap=(all|heap|sites). I had some luck by setting ulimit for max memory size, stack size, and virtual memory
to unlimited for a process.
I happened to be running jdk 1.6.0_10 on a linux kernel 2.6.18 (SUSE)

Similar Messages

  • A profiler question ( hprof )

    I tried to use hprof with my java program. The program works with out the profiler, but with the -Xrunhprof option, the error message like below appeared:
    # HotSpot Virtual Machine Error, Internal Error
    # Please report this error at
    # http://java.sun.com/cgi-bin/bugreport.cgi
    # Error ID: 4D555445583F4C494E55580E4350500104
    # Problematic Thread: prio=1 tid=0x804e428 nid=0x62dc runnable
    Aborted
    The machine I used is intel i686, Linux Mandrake. Does it have anything to do with the OS?
    Thank you very much!
    jessie

    On my linux box, the profiler and the debugger do not work with hotspot. I can only have them work with the following command line
         java -classic -Djava.compiler=NONE -Xrun****
    More over, if I profile, I need to add the -Xnoclassgc option, else I get many error messages while running.
    There is an exception,; when I try to use hotspot's profiler: java -Xprof works well (though the output is not the same than -Xrunhprof).
    To my mind it seems that there is a bug in Hotspot.
    For debugging, I eventually convinced my self that jdb is unusable. (far less than gdb : no tabulation for completing variable/method/class names, etc.)
    So I use a nice front end : the one integrated in netbeans (http://www.netbeans.org).

  • EJB: Stateless Session Bean create() Question.

    Lets say I have a stateless session bean that fetches data from my database. The point of the bean is to just do large SQL searches and funnel data back to the client. The prolem I have is that I am somehow fighting memory leaks. Despite having checked the code a number of times, the memory usage on my appserver continues to climb no matter what I do. I have theorized that the problem might be in the way Im using ma DataFetchBean (DFB).
    When I start the client, he obtains a user session. This is a stateful session bean that he uses for almost all communication with the server. Then I call "getDataFetchBean" in the user session which calls DataFetchBeanHome.create(). Then the client holds onto the returned reference, using it for the live of his connection. As he disconnects, he calls remove on the bean.
    Question is this:
    1) Is it better for me to call create() prior to each call to the stateless session bean ?
    2) Do you have any theories on why im loosing memory with this setup?
    TIA
    -- Rob

    1. But I thought you were using a 'stateful session bean'?
    2. For stateless session beans, there is no direct link between a remote reference and an instance of the bean. It is safe to hang on to the remote reference as long as you would like, of course it may go stale if the server dies. You will also find that the create() method does not actually contact the server, so doing it each usage costs very little. So, either way you should be fine.
    3. As for memory leaks, make sure that you are closing all statements, result sets, etc. promptly. These are commonly the problem. Also, use hprof or some other profile tool to determine what types of data you are allocating and (with better tools) what types of data you may be holding on to references to.
    Chuck

  • Using Hprof with Commerce Server 3.5

    My company is beginning the move to J2EE and I have been tasked with researching
    profilers. I quickly came across Hprof, which is provided by the Sun JVM through
    the use of the -Xrunhprof option. I have been able to successfully profile a
    very small test application (stand alone app). However, I run into problems when
    I use Hprof and try to start the example server provided with Commerce Server
    3.5 (with WebLogic 6.0). Please see below for my syntax and results.
    Syntax
    %JAVA_HOME%\bin\java -Xrunhprof:cpu=times,doe=y .....
    Results
    The server appears to start and work correctly (no HRPOF ERROR: messages). When
    I shut it down (using the console) and look at the java.hprof.txt file that is
    created, the hprof data has not been fully written to the file. The file ends
    in the middle of a trace:
    TRACE 6687:
         java/net/URLStreamHandler.getDefaultPort(URLStreamHandler.java:Unknown line)
    I am curious if anyone has run into this problem before and how they might have
    corrected it. Can anyone suggest a set of Hprof parameters to use? Or provide
    a link to a good description of all of the parameters (I haven't found a lot of
    documentation on it)?
    I know that there are other commercial profilers (JProbe, Optimizeit, etc.) but
    I would like to learn the basics before diving into them.
    Any comments or suggestions would be appreciated.
    Thanks
    --Chris

    Hi Martin,
    You probably already noticed, but a new WLCS 3.5 license has been
    posted at http://commerce.bea.com/downloads/commerce_servers.jsp
    Thanks for posting this. I'm sorry it didn't get answered until now.
    If you ever have a question in the newsgroup that is not answered quickly
    enough to get you on track with your evaluation or development process
    then you can let our support team know about it by opening a support case
    (for free) at http://www.bea.com/support/index.jsp
    Martin Swan wrote:
    When will the license on your site be updated, it ran out yesterday ?--
    Ture Hoefner
    BEA Systems, Inc.
    2590 Pearl St.
    Suite 110
    Boulder, CO 80302
    www.bea.com

  • Hprof doesn't show cpu times of own methods

    Hi,
    I'm using hprof like this on Java 1.4.2_18: -Xrunhprof:cpu=times,file=/some/file.txt
    This generates output like this:
    1258 0.01% 91.01% 2899 2050 org.apache.axis.encoding.SerializationContext.startElement
    1259 0.01% 91.02% 31041 1051 java.util.ArrayList.add
    1260 0.01% 91.03% 31838 1349 java.lang.StringBuffer.append
    1261 0.01% 91.04% 20858 3388 sun.reflect.GeneratedMethodAccessor4.invoke
    1262 0.01% 91.05% 12017 3703 java.lang.System.getSecurityManager
    1263 0.01% 91.06% 10964 1111 java.lang.Number.<init>
    1264 0.01% 91.07% 18194 1588 org.apache.axis.encoding.TypeMappingImpl$Pair.hashCode
    1265 0.01% 91.08% 31041 2353 org.apache.axis.message.SOAPHandler.<init>
    1266 0.01% 91.10% 258 1886 java.lang.Throwable.printStackTrace
    1267 0.01% 91.11% 9836 2613 java.lang.StringBuffer.append
    1268 0.01% 91.12% 52694 3665 java.lang.Class.getName
    1269 0.01% 91.13% 9475 1469 org.apache.axis.utils.NSStack.getPrefix
    1270 0.01% 91.14% 22482 684 java.lang.StringBuffer.setShared
    1271 0.01% 91.15% 31043 1752 java.lang.System.arraycopy
    1272 0.01% 91.16% 11241 2051 org.apache.commons.logging.impl.Jdk14Logger.isDebugEnable
    But none of my own methods are in there, only java.\*, sun.\*, javax.\*, org.apache.*, etc. are in it. What am I doing wrong?
    Also (but this is a more optional, second question), it'd be nice if I could see them nested, i.e.:
    80% my.package.MyClass.myBigMethod
         20% my.package.MyClass.partOfMyBigMethod
                    15% my.package.MyClass.partOfPartOfMyBigMethod
                     5% my.package.MyClass.alsoPartOfPartOfMyBigMethod
         25% my.package.MyClass.alsoPartOfMyBigMethodand so on.
    Is this possible? Or should I use a different profiler for this? I'm using a headless server, so my options are rather limited, especially since because of network settings I can't really connect a remote profiler to it, like Netbeans'. It's on a GNU/Linux server, and I can't use commercial software... Any ideas?
    Thanks!

    "Is there an alternate way to run the hardware test?"
    No. The Hardware Test is on the system DVD that originally came w/your computer. You can get replacement System Install & Restore CD/DVDs from Apple's Customer Support - in the US, (800) 767-2775 - for a nominal S&H fee. You'll need to have the model and/or serial number of your Mac available.
    If you're not in the US, you may need to go through the regional Apple Store that serves your location to find the contact number. Here's a list of links to all of those -
    http://store.apple.com/Catalog/US/Images/intlstoreroutingpage.html

  • Does turning on Hprof hurt performance in an application server?

    i'm running WebSphere Application Server v6.1 on HP-UX, which runs on Hotspot VM by default.
    Since Hotspot won't produce anything like javacore or heapdump. I would very much like it to turn on Hprof all the time. So that I have some material for analysis if an application server hang or performance delegation occurs.
    However I hardly find anyone saying they've turned on this option for WebSphere, nor does IBM redbooks. Would this hurt performance to turn on hprof for WAS JVM? or does this bring along any performance hazard? I'm planning to have this option on all the time in my production servers.

    Have you heard of HPjmeter? Try running with -XX:+HeapDump -XX:+HeapDumpOnCntrlBreak (i'm not sure of the syntax o the latter option, but its documented in the HPjmeter user manual. Any further questions ask me - I used to develop the tool.

  • Various jmap questions

    1) Does the (default?) -all mode include unreachable (but not yet collected) objects?
    2) Do both the all and live mode include weakly referenced objects?
    3) HotSpotVirtualMachine#dumpHeap() returns an InputStread (that is dumped to stdout in drain()). I assume the reason for this is to display progress/debug messages, correct?
    4) When dumping a remote VM process (through jsadebugd), I assume that the dump file is created on the remote system, correct?
    5) Is there any news on the development of a library to read HPROF snapshots?

    By default jmap -histo and -dump will dump all objects - this includes unreachable and weakly reachable objects. If you use the "live" sub-option then it triggers a full GC first and this means the histogram or heap dump will have only strongly or softly reachable objects. I hope that helps with #1 and #2.
    The dumpHeap method that you have found is an internal method. The input stream that it returned is used to read any output messages from the dump operation.
    The jsadebugd daemon is used for connecting to core files or hung processes on remote machines. If you use the heap dump tool then it will be generated on the remote system.
    For the HPROF question I would suggest going here:
    https://heap-snapshot.dev.java.net/
    I hope this helps.

  • How to take regular heap dumps using HPROF

    Hi Folks,
    I am using Oracle App server as my application server. I found that the memory is growing gradualy and gets maxed out with in 1 hour. I am using 1 GB of heap.
    I defently feel this is a memory leak issue. Once the Heap usage reaches 100%, I will start getting the FULL GCs and my whole server hangs and nothing will work. Some times even the JVM crashes and restarts again.
    I didn't find Out of Memory exception also in any of my logs.
    I came to know that we can use Hprof to deal with this.
    I use the below as my JVM agrs...
    -agentlib:hprof=heap=all,format=b,depth=10,file=$ORACLE_HOME\hprof\Data.hprof
    I run my load run for 10 mins, now my heap usage has been grown to some extent.
    My Questions:
    1. Why there are 2 files generated, one is with the name Data.hprof and another with Data.hprof.tmp. Which is what?
    2. How to get the dump at 2 different points. So that I can compare the the 2 dumps and I can say which object is growing more.
    I downloaded the HAT and If I use to open this Data.hprof file from HAT, I am getting this error. This error will come if I open the file with out stoping the JVM process.
    java.io.EOFException
    at java.io.DataInputStream.readFully(DataInputStream.java:178)
    at java.io.DataInputStream.readFully(DataInputStream.java:152)
    at hat.parser.HprofReader.read(HprofReader.java:202)
    at hat.parser.Reader.readFile(Reader.java:90)
    at hat.Main.main(Main.java:149)
    If I stop the JVM process, and then open through HAT I am getting this error,
    Started HTTP server on port 7000
    Reading from hprofData.hprof...
    Dump file created Wed Dec 13 02:35:03 MST 2006
    Warning: Weird stack frame line number: -688113664
    java.io.IOException: Bad record length of -1551478782 at byte 0x0008ffab of file.
    at hat.parser.HprofReader.read(HprofReader.java:193)
    at hat.parser.Reader.readFile(Reader.java:90)
    at hat.Main.main(Main.java:149)
    JVm version I am using is: Sun JVM 1.5.0_06
    I am seriously fed up of this memory leak issue... Please help me out folks... I need this as early as possible..
    I hope I get early replys...
    Thanks in advance...

    First, the suggestion of using jmap is an excellent one, you should try it. On large applications, using the hprof agent you have to restart your VM, and hprof can disturb your JVM process, you may not be able to see the problem as quickly. With jmap, you can get a heap snapshot of a running JVM when it is in the state you want to understand more of, and it's really fast compared to using the hprof agent. The hprof dump file you get from jmap will not have the stack traces of where objects were allocated, which was a concern of mine a while back, but all indications are that these stack traces are not critical to finding memory leak problems. The allocation sites can usually be found with a good IDE ot search tool,
    like the NetBeans 'Find Usages' feature.
    On hprof, there is a temp file created during the heap dump creation, ignore the tmp file.
    The HAT utility has been added to JDK6 (as jhat) and many problems have been fixed. But most importantly, this JDK6 jhat can read ANY hprof dump file, from JDK5 or even JDK1.4.2. So even though the JDK6 jhat is using JDK6 itself, the hprof dump file it is given could have come from pretty much anywhere, including jmap. As long as it's a valid hprof binary dump file.
    So even if it's just to have jhat handy, you should get JDK6.
    Also, the Netbeans profiler (http://www.netbeans.org) might be helpful too. But it will require a restart of the VM.
    -kto

  • Information needed about HPROF option "cpu=old"

    I was reading the article about HPROF:
    http://java.sun.com/developer/technicalArticles/Programming/HPROF.html
    As I couldn't leave a comment there (probably my proxy?), I came to this forum to ask my simple question:
    Is the HPROF "cpu=old" option a sort of deprecated format and how does it work ?
    After a try, I observed the same huge CPU overhead as with "cpu=times" option, which is ok, and as an output, a tabbed file. It looks like a list of methods sorted by execution time, with the following header "count callee caller time". This is clear, no extra explanation needed.
    This option is very interesting so why isn't it described in this article ? Is it the old format of JVMPI /JVMDI ? However the history section shows that the output format has not changed.
    This could seem a bit redundant with the cpu=times options, but after a quick comparison on a "real" application on a 2h internal standard perf test, it shows very different results, in terms of figures and top-consuming methods ranking.
    Could you give me the beginnings of an explanation for this difference, by detailing a bit how it works ?
    Which option would you advise to use ?
    Thanks in advance.
    Philippe

    Thank you for such a fast reply.
    There is the further diagnostic test below. The strange thing is I was getting around 3-3.5mbps downstream a week ago but with the frequent disconnections due to the weather I have a bad feeling the exchange has downgraded my line.
    1. Best Effort Test: 
    Download Speed : 1.5 Mbps
    Your speed test has completed and the results are shown above, however during the test an error occurred while trying to retrieve additional details regarding your service. As a result we are unable to determine if the speed you received during the test is acceptable for your service. Please re-run the test if you require this additional information.

  • Questions on Print Quote report

    Hi,
    I'm fairly new to Oracle Quoting and trying to get familiar with it. I have a few questions and would appreciate if anyone answers them
    1) We have a requirement to customize the Print Quote report. I searched these forums and found that this report can be defined either as a XML Publisher report or an Oracle Reports report depending on a profile option. Can you please let me know what the name of the profile option is?
    2) When I select the 'Print Quote' option from the Actions drop down in the quoting page and click Submit I get the report printed and see the following URL in my browser.
    http://<host>:<port>/dev60cgi/rwcgi60?PROJ03_APPS+report=/proj3/app/appltop/aso/11.5.0/reports/US/ASOPQTEL.rdf+DESTYPE=CACHE+P_TCK_ID=23731428+P_EXECUTABLE=N+P_SHOW_CHARGES=N+P_SHOW_CATG_TOT=N+P_SHOW_PRICE_ADJ=Y+P_SESSION_ID=c-RAuP8LOvdnv30grRzKqUQs:S+P_SHOW_HDR_ATTACH=N+P_SHOW_LINE_ATTACH=N+P_SHOW_HDR_SALESUPP=N+P_SHOW_LN_SALESUPP=N+TOLERANCE=0+DESFORMAT=RTF+DESNAME=Quote.rtf
    Does it mean that the profile in our case is set to call the rdf since it has reference to ASOPQTEL.rdf in the above url?
    3) When you click on submit button do we have something like this in the jsp code: On click call ASOPQTEL.rdf. Is the report called using a concurrent program? I want to know how the report is getting invoked?
    4) If we want to customize the jsp pages can you please let me know the steps involved in making the customizations and testing them.
    Thanks and Appreciate your patience
    -PC

    1) We have a requirement to customize the Print Quote report. I searched these forums and found that this report can be defined either as a XML Publisher report or an Oracle Reports report depending on a profile option. Can you please let me know what the name of the profile option is?
    I think I posted it in one of the threads2) When I select the 'Print Quote' option from the Actions drop down in the quoting page and click Submit I get the report printed and see the following URL in my browser.
    http://<host>:<port>/dev60cgi/rwcgi60?PROJ03_APPS+report=/proj3/app/appltop/aso/11.5.0/reports/US/ASOPQTEL.rdf+DESTYPE=CACHE+P_TCK_ID=23731428+P_EXECUTABLE=N+P_SHOW_CHARGES=N+P_SHOW_CATG_TOT=N+P_SHOW_PRICE_ADJ=Y+P_SESSION_ID=c-RAuP8LOvdnv30grRzKqUQs:S+P_SHOW_HDR_ATTACH=N+P_SHOW_LINE_ATTACH=N+P_SHOW_HDR_SALESUPP=N+P_SHOW_LN_SALESUPP=N+TOLERANCE=0+DESFORMAT=RTF+DESNAME=Quote.rtf
    Does it mean that the profile in our case is set to call the rdf since it has reference to ASOPQTEL.rdf in the above url?
    Yes, your understanding is correct.3) When you click on submit button do we have something like this in the jsp code: On click call ASOPQTEL.rdf. Is the report called using a concurrent program? I want to know how the report is getting invoked?
    No, there is no conc program getting called, you can directly call a report in a browser window, Oracle reports server will execute the report and send the HTTP response to the browser.4) If we want to customize the jsp pages can you please let me know the steps involved in making the customizations and testing them.
    This is detailed in many threads.Thanks
    Tapash

  • Satellite P300D-10v - Question about warranty

    HI EVERYBODY
    I have these overheating problems with my laptop Satellite P300D-10v.
    I did everything I could do to fix it without any success..
    I get the latest update of the bios from Toshiba. I cleaned my lap with compressed air first and then disassembled it all and cleaned it better.(it was really clean insight though...)
    BUT unfortunately the problem still exists...
    So i made a research on the internet and I found out that most of Toshiba owners have the same exactly problem with their laptop.
    Well i guess this is a Toshiba bug for many years now.
    Its a really nice lap, cool sound (the best in laptop ever) BUT......
    So I wanted to make a question. As i am still under warranty, can i return this laptop and get my money back or change it with a different one????
    If any body knows PLS let me know.
    chears
    Thanks in advance

    Hi
    I have already found you other threads.
    Regarding the warranty question;
    If there is something wrong with the hardware then the ASP in your country should be able to help you.
    The warranty should cover every reparation or replacement.
    But I read that you have disasembled the laptop at your own hand... hmmm if you have disasembled the notebook then your warrany is not valid anymore :(
    I think this should be clear for you that you can lose the warrany if you disasemble the laptop!
    By the way: you have to speak with the notebook dealer where you have purchased this notebook if you want to return the notebook
    The Toshiba ASP can repair and fix the notebook but you will not get money from ASP.
    Greets

  • Question regarding NULL and forms

    Hi all, i have a survey that im working on that will be sent via email.
    I'm having an issue though. if i have a multiple choice question, and the user only selects one of the choices, all the unselected choices return as NULL. is there a way i can filter out anytihng that says "NULL" so it only shows the selected options?
    thanks.
    here is the page that retrieves all the data. thanks
    <body>
    <p>1) Is this your first visit to xxxxxxx? <b><%=request.getParameter("stepone") %></b>
    </p>
    <p> </p>
    <p>2) How did You Learn About xxxxxxx?</p>
    <p><b><%=request.getParameter("steptwoOne") %></b>
      <br>
        <b><%=request.getParameter("steptwoTwo") %></b>
      <br>
        <b><%=request.getParameter("steptwoThree") %></b>
      <br>
        <b><%=request.getParameter("steptwoFour") %></b>
      <br>
        <b><%=request.getParameter("steptwoOther") %></b>
    </p>
    <p> </p>
    <p>3) What was your main reason for visiting xxxxx?</p>
    <p><b><%=request.getParameter("stepthreeOne") %></b>
        <br>
          <b><%=request.getParameter("stepthreeTwo") %></b>
        <br>
          <b><%=request.getParameter("stepthreeThree") %></b>
        <br>
          <b><%=request.getParameter("stepthreeFour") %></b>
        <br>
          <b><%=request.getParameter("stepthreeOther") %></b>
    </p>
    <p>4) did you find the information you were looking for on this site?</p>
    <p><b><%=request.getParameter("stepfour") %>
    <br>
    <b><%=request.getParameter("stepfourOther") %></b>
    </b></p>
    <p>5) Do you plan on using this website in the future?</p>
    <p><b><%=request.getParameter("stepfive") %></b></p>
    <p>6) What is your gender</p>
    <p><b><%=request.getParameter("stepsix") %></b></p>
    <p>7) What is your age group</p>
    <p><b><%=request.getParameter("stepseven") %></b></p>
    8) Would you like to take a moment and tell us how we can improve your experience on xxxxxxxxxx?
    <p><b><%=request.getParameter("stepeightFeedback") %></b></p>

    i was messing around and came up with this. it doesnt remove the null, but if it is null it adds ABC beside it. so i think i might be getting close. i just need to figure out how to replace the null.
    code]
    <b><%=request.getParameter("steptwoFour") %></b>
         <% if (request.getParameter("steptwoFour") == null ) {
         %>
         <% out.print("abc"); %>
         <% }
         %>

  • Anyone know how to remove Overdrive books from my iphone that have been transferred from my computer? They do not show up on itunes. I see a lot of answers to this question but they all are based on being able to see the books in iTunes.

    How do I remove Overdrive books from the library that were downloaded onto my computer then transferred to my iphone? The problem is that they do not show up in iTunes.
    I see this question asked a lot when I google, but they always give answers that assumes you can find the books in iTunes either under the books tab, or the audio books tab or in the music. They do not show up anywhere for me. They do not remove from the app like the ones I downloaded directly onto my iphone.the related archived article does not answer it either.  I even asked a guy working at an apple store and he could not help either.   Anybody...?
    Thanks!

    there is an app called daisydisk on mac app store which will help you see exactly where the memory is focused and consumed try using that app and see which folders are using more memory

  • Basic question

    Hello, i have a basic question. if i have defined 2 fields in a cube or a dso:
    Name Quantity
    and from the external flat file i get some characters for my quantity field. would my load fail?  for standard dso and for write optimized?
    NOTE: quantity field is a keyfigure defined as numeric.
    and the load coming in has "VIKPATEL" for Quantity field and not numbers.
    thanks

    Hi Vik,
    Yes, the load will fail.
    May be you coud first load this data into BW (into PSA) and set both fields as characters fields. Then you can create DSO, do transformation from this PSA to the DSO, and put your logic as to what do you want to do with those Quantity that is not number (e.g. convert to 0, or 'Not assgined', etc).
    You can use transfer rule, or a clean up ABAP code in the start routine.
    Hope this helps.

  • Mid 2010 15" i5 Battery Calibration Questions

    Hi, I have a mid 2010 15" MacBook Pro 2.4GHz i5.
    Question 1: I didn't calibrate my battery when I first got my MacBook Pro (it didn't say in the manual that I had to). I've had it for about a month and am doing a calibration today, is that okay? I hope I haven't damaged my battery? The calibration is only to help the battery meter provide an accurate reading of how much life it has remaining, right?
    Question 2: After reading Apple's calibration guide, I decided to set the MacBook Pro to never go to sleep (in Energy Saver System Preference) and leave it on overnight so it would run out of power and go to sleep, then I'd leave it in that state for at least 5 hours before charging it. When I woke up, the light on the front wasn't illuminated. It usually pulsates when in Sleep. Expectedly, it wouldn't wake when pressing buttons on the keyboard. So, what's happened? Is this Safe Sleep? I didn't see any "Your Mac is on reserve battery and will shut down" dialogues or anything similar, as I was asleep! I've left it in this state while I'm at work and will charge it this afternoon. Was my described method okay for calibration or should I have done something different?
    Question 3: Does it matter how quickly you drain your battery when doing a calibration? i.e is it okay to drain it quickly (by running HD video, Photo Booth with effects etc) or slowly (by leaving it idle or running light apps)?
    Thanks.
    Message was edited by: Fresh J

    Fresh J:
    A1. You're fine calibrating the battery now. You might have gotten more accurate readings during the first month if you'd done it sooner, but no harm has been done.
    A2. Your machine has NOT shut down; it has done exactly what it was supposed to do. When the power became critically low, it first wrote the contents of RAM to the hard drive, then went to sleep. When the battery was completely drained some time later, the MBP went into hibernation and the slepp light stopped pulsing and turned off. In that state the machine was using no power at all, but the contents of your RAM were still saved. Once the AC adapter was connected, a press of the power button would cause those contents to be reloaded, and the machine would pick up again exactly where you left off. It is not necessary to wait for the battery to be fully charged before using the machine on AC power, but do leave the AC adapter connected for at least two hours after the battery is fully charged. Nothing that you say you've done was wrong, and nothing that you say has happened was wrong.
    A3. No, it does not matter.

Maybe you are looking for