Jmap: portability and safety for snapshotted process?
I'm working on tracking down a memory leak in a java application that's at the heart of my employer's business. Right now, we're restarting it periodically, and watching it closely with nagios.
I'd like to do a jmap dump and jhat analysis of the heap while it has a lot of memory in use - but before I do, we need to answer the question: "Is there any risk to the process inspected?" Has anyone ever seen or heard of a java process getting messed up (say, writing corrupted data?) as a result of a jmap?
Another, slightly less important question is: Can I jmap on a windows machine and analyze the resulting file on a Linux machine?
Thanks!
Did you have a windows form or a web based application? Did you use LoadRunner to invoke multiple concurrent synchronization calls to move data from the lite database to the back-end database? Also, was LoadRunner executing against one instance of your application or multiple instances? Were application instances running on one machine or multiple machines? We are just trying to get a better understanding of your application/load test setup and see if it was structurally similar to ours.
We basically have a windows form based application designed for a single user. This application allows user to synchronize data from Olite to back-end Oracle database after user has completed their data entry.
We wanted to test the performance of our synchronization process. That is how many user can concurrently synchronize their data at the same time.
Given that our application is a single user application, we decided to invoke multiple instances of application on a single machine and then simultaneously try to synchronize (via a tool) each instance of the application. Hence the error.
Thanks for your feedback.
Similar Messages
-
Ho to create Mass Processing and jobs for monthly process
Hi Gurus,
I had created all activities and jobs for background run and my question is 1. how to create for mass process ?
2.Do i need to create process chains for background run for every month ?
3. How to create parallel processing as well/
Please let me know and thanks for your answers.
Regards,
RajHi Raj,
Here is the link to saphelp documentation for <a href="http://help.sap.com/saphelp_scm50/helpdata/en/02/7650d6353611d398290000e8a49608/frameset.htm">mass processing</a>.
You can use a process chain and it is much easier if you want to repeat that periodically and integrate with the process steps. You have the option of creating parallel processes in process chains as well.
Here is the link to <a href="http://help.sap.com/saphelp_scm50/helpdata/en/81/ae653fac7ab21ae10000000a114084/frameset.htm">process chains</a>.
Hope this helps. -
Privacy, Trust and Safety for users
Hello Dear Skype.
Writing to You with big complain about new version of Skype, as its come new version I got lots of problem with "Privacy, Trust and Safety".
1. Programm POP-ups as PRIORITY programm over any programm, even I'm watching movies and trasmitt it to my big TV, its happen randomly as "its" needed, lives like its own life.
2. You broked with that my trust to Skype.
Ill give Skype team 3 month time to sort out til lend product of skype as old skype.
Another way ill delete my account with sacrificing my contacts.
Beleve me, my life will continue normaly without skype, but Your company will not without us.
Best regards.Hi, kvitka_plamen07, and welcome to the Community,
Unfortunately, there is no Ukrainian language forum on this Community, and a common on-line translator was not able to translate your post accurately. Please post in English as the Community will be better able to assist you if your post is in the English language. Please let me know if you need assistance in posting about your issue.
Here is a link to the complete list of the Community's message boards: http://community.skype.com/
On behalf of the Skype Support Network Moderator Team,
Elaine
Community Moderator -
Thread safety for synchronization process
We are invoking multiple instance of our
application and attempt to issue synchronization calls simultaneously in order
to perform some load testing.
Is the Oracle lite synchronization process thread safe? Does anyone have
recommendation on how to perform concurrent synchronization from the same
computer?
We recieve following exception:
System.AccessViolationException {"Attempted to read or write protected memory.
This is often an indication that other memory is corrupt."}
StackTrace
at Oracle.DataAccess.Lite.OracleSync.netSynchronize(IntPtr hWnd, Int32 nMsg)
at Oracle.DataAccess.Lite.OracleSync.Synchronize()
at Point2.CCIPDA.Core.Data.Database.SynchronizeThread() in
X:\CCIPDA_2_0\src\Core\Data\Database.cs:line 325
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext,
ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()Did you have a windows form or a web based application? Did you use LoadRunner to invoke multiple concurrent synchronization calls to move data from the lite database to the back-end database? Also, was LoadRunner executing against one instance of your application or multiple instances? Were application instances running on one machine or multiple machines? We are just trying to get a better understanding of your application/load test setup and see if it was structurally similar to ours.
We basically have a windows form based application designed for a single user. This application allows user to synchronize data from Olite to back-end Oracle database after user has completed their data entry.
We wanted to test the performance of our synchronization process. That is how many user can concurrently synchronize their data at the same time.
Given that our application is a single user application, we decided to invoke multiple instances of application on a single machine and then simultaneously try to synchronize (via a tool) each instance of the application. Hence the error.
Thanks for your feedback. -
Macbook Pro Color Profile and Calibration for Photo processing.
Hello Friends,
May be it has already discussed in many forums but somehow I got confused about different solutions of the questions and due to this asking once again here.
I am using Macbook pro of 2012 and there exist many color profiles in the Display settings.
I am a photographer who uses Photoshop for the editing as well as Canon Software.
To get the most accurate Monitor Calibration Should I use default "color LCD" profile ?
I am not using any External Calibration tool. I have manually calibrate the screen but somehow I am not 100% confident on that.
In that case should I go for default "color LCD" for my photo processing. I found some light yellow cast/warm color on that profile but I am not sure..
Any help/suggestion will be much appreciated.
I am using:- MacBook Pro + OS X Mountain Lion 10.8.5
Warm Regards,
Ari...Which model MacBook Pro? [EDIT] my bad, didn't see it in your original post
You mentioned that there is no error message when you try to change the profile; something is probably being reported to console though. Open Console.app (in /Applications/Utilities/) and see if anything is reported to it while you're experiencing these problems. If so, please post it here and I'll take a look at it.
Are you using the default profile that came with the machine or did you create your own by using the Calibration Assistant?
You might try opening Color Sync Utility (in /Applications/Utilities/) and verify or repair (if necessary) your color profiles.
Hope this helps....
Dual 2.7GHz PowerPC G5 w/ 2.5 GB RAM; 17" MacBook Pro w/ 2 GB RAM - Mac OS X (10.4.6) -
I have an ongoing series of tasks that necessitates opening the contents of a series of folders as image sequences.
I'm used to setting up some fairly complex actions, including ones that are intended to be applied to all of the contents of materials in various subfolders, but for some reason I cannot get an Open-with-Image-Sequence-Checked action to set up in a way that will batch process correctly.
Complicating matters is that the file prefixes (i.e., the letters before the sequential numbers) and the folders will always have different names from the last time the process had to be carried out.
The steps I would like the action to carry out would be the following:
1. Open Subfolder 1 - that is, Photoshop shouldn't be looking for a specific folder. It's just *any* subfolder to the current parent folder.
2. Select first file in sequenced set of files.
3. Open as an image sequence.
4. Open Subfolder 2.
5. Select first file in sequenced set of files.
6. Open as an image sequence.
...rinse and repeat until Photoshop runs out of subfolders to check.
Am I asking the impossible?
Thanks!I'll look around there, because I had posted something about this and was told to look here ps-scripts - Browse /Image Processor Pro/v3_0 at SourceForge.net
then this is the image here:
is the result I received. Granted I'm new to using scripts and actions for image processing large amounts of files. -
How to check actual allocated and used memory for java process in solaris?
Hi,
I'm testing performance for java application on solaris 10. And I would like to know how to measure actual memory allocated and used for java process.
I'm setting -Xms512m -Xmx512m for my java process and I use prstat command to monitor it's memory. But I found that when I run prstat to check, in SIZE column is more than I setting (found 644).
So I'm don't know the actual memory that java process used. (In this case,is it mean the process use memory (644) more than setting (512)?)
Thank you.With Xms/Xmx you specify the Java heap size. On top of that comes the permanent generation (default max size 64m) and the C part of the process (the JVM itself with all its libraries and data).
With "ps -e -o pid,vsz,rss,args" you get the virtual and set resident size of your processes.
Nick. -
I just purchased the iMac and was in the process of setting it up and it locked up, requiring me to put in a password. I never established a password, does the iMac have a default password?
If you have been using the mac.com Apple ID to make iTunes purchases recently, then there should be no issues continuing to use it with the new iPhone. I would abandon the new ID as you will never get Apple to merge the two IDs. I have had a mac.com ID for years and continue to use it with my iPhone 4S.
Tell us the issues that you encounter trying to set up the iPhone with the mac.com account. -
Partial GR and GI for Process Orders
Hello,
I have a scenario where user want to do Partial GR and GI posting against process order using PI sheet and he can very well do this.
I want to know which SAP table will store this data. I want to prepare report which will run everyday evening and get GR and GI postings done against process done.
regards,
Parshuram>
parshuram manjrekar wrote:
> Hello,
>
> I have a scenario where user want to do Partial GR and GI posting against process order using PI sheet and he can very well do this.
>
> I want to know which SAP table will store this data. I want to prepare report which will run everyday evening and get GR and GI postings done against process done.
>
> regards,
> Parshuram
Parshuram,
You can use standard transaction MB51 for this purpose, which would give you all the material movements for an Order/orders.
If you still need to develop a report then you need to use MSEG table to extract the data. Order details can be from AUFK/AFKO/ AFPO , planned GI quantities from RESB table
Regards,
Prasobh -
My iphone 4 is telling me I have to restore but when I plug in and connect to itunes, it freezes about 30-50 % through the process. Now I can't use my phone at all? I am waiting about 1-3 hours for this process to finish and nothing ever happens. HELP!!
Put it into DFU mode - hold the sleep/wake button and home button until the screen goes black (ignoring the slide to turn off slider). When the screen goes black release the sleep/wake button but hold the home button. Continue holding the home button for 10 seconds, then release it. The screen should stay black. Plug it into iTunes and it should come up with this message "iTunes has detected an iPhone in recovery mode. It must be restored before use", that's when it is successfully in DFU mode. Now press the restore button in iTunes and it should run smoothly :)
-
Help - I keep getting this message when trying to install iTunes on my computer - I have tried it on 2 different computers - one with Windows 7 and one with Vista - getting same message for both.
"An error occured during the installation of assembly 'Microsoft.VC.80.CRT,version="8.0.50727.4053",type="win32".publicKeyToken="1fc8 b3b9a1e3b".process orArchitecture="x86"".Please refer to Help and Support for more information. HRESULT: 0x800736FD.
ThanksHRESULT: 0x800736FD
Are you running Vista or Windows 7, josh? -
List of issues and fixes for procure to pay process and order to cash process for a trading company
Dear All Gurus
Kindly tell me where I can find the list of all issues arising in procure to pay process
and order to cash process and there fixes for a trading company in support project
Thanking You
Abdul BaseerHi Abdul,
There are no standard list to provide, you should identify the issue through regression testing and raise an SR or create a thread accordingly we can help you.
Note:- Issues are vary to instance to instance, version to version, installation to upgrade etc.. -
How to kill Forms Runaway Process using 95% CPU and running for 2 hours.
We had a situation at E-Business Suite customer (using Oracle VM server) where some of Form processes were not being cleared by form timeout settings automatically.
Also when user exits the form session from front end, the linux form process (PID) and DB session did not exit properly, so they got hung.
They were spiking CPU and memory usage and causing e-business suite to perform slowely and ultimately causing VM host to reboot the production VM guest (running on Linux).
We could see the form processes (PIDs) using almost 100% cpu with "top" command and running for a long time.
Also we verified those Form Sessions did not exist in the application itself.
ie. Using from Grid Control -> OAM-> Site Map -> Monitoring (tab) -> "Form Sessions".
It means that we could safely kill that form process from Linux using "kill -9 <PID>" command.
But that required a continuous monitoring and manual DBA intervention as customer is 24x7 customer.
So, I wrote a shell script to do the following;
• Cron job runs every half an hour 7 days a week which calls this shell script.
• Shell script runs and tries to find "top two" f60webmx processes (form sessions) using over 95% cpu with 2 minutes interval.
• If no process is found or CPU% is less than 95%, it exits and does nothing.
• If top process is found, it searches for its DB session using apps login (with hidden apps password file - /home/applmgr/.pwd).
a. If DB session is NOT found (which means form process is hung), it kills the process from unix and emails results to <[email protected]>
b. If DB session is found, it waits for 2 hours so that form process times automatically via form session timeout setting.
It also emails the SQL to check the DB session for that form process.
c. If DB session is found and it does not timeout after 2 hours,
it kills the process from unix (which in turn kills the DB session). Output is emailed.
This are the files required for this;
1. Cron job which calls the shell script looks like this;
# Kill form runaway process, using over 95% cpu having no DB session or DB session for > 2hrs
00,30 * * * * /home/applmgr/forms_runaway.sh 2>&1
2. SQL that this script calls is /home/applmgr/frm_runaway.sql and looks like;
set head off
set verify off
set feedback off
set pagesize 0
define form_client_PID = &1
select count(*) from v$session s , v$process p, FND_FORM_SESSIONS_V f where S.AUDSID=f.audsid and p.addr=s.paddr and s.process='&form_client_PID';
3. Actual shell script is /home/applmgr/forms_runaway.sh and looks like;
# Author : Amandeep Singh
# Description : Kills runaway form processes using more than 95% cpu
# and Form Session with no DB session or DB session > 2hrs
# Dated : 11-April-2012
#!/bin/bash
. /home/applmgr/.bash_profile
PWD=`cat ~/.pwd`
export PWD
echo "`date`">/tmp/runaway_forms.log
echo "----------------------------------">>/tmp/runaway_forms.log
VAR1=`top -b -u applmgr -n 1|grep f60webmx|grep -v sh|grep -v awk|grep -v top|sort -nrk9|head -2|sed 's/^[ \t]*//;s/[ \t]*$//'| awk '{ if ($9 > 95 && $12 = "f60webmx") print $1 " "$9 " "$11 " "$12; }'`
PID1=`echo $VAR1|awk '{print $1}'`
CPU1=`echo $VAR1|awk '{print $2}'`
TIME1=`echo $VAR1|awk '{print $3}'`
PROG1=`echo $VAR1|awk '{print $4}'`
PID_1=`echo $VAR1|awk '{print $5}'`
CPU_1=`echo $VAR1|awk '{print $6}'`
TIME_1=`echo $VAR1|awk '{print $7}'`
PROG_1=`echo $VAR1|awk '{print $8}'`
echo "PID1="$PID1", CPU%="$CPU1", Running Time="$TIME1", Program="$PROG1>>/tmp/runaway_forms.log
echo "PID_1="$PID_1", CPU%="$CPU_1", Running Time="$TIME_1", Program="$PROG_1>>/tmp/runaway_forms.log
echo " ">>/tmp/runaway_forms.log
sleep 120
echo "`date`">>/tmp/runaway_forms.log
echo "----------------------------------">>/tmp/runaway_forms.log
VAR2=`top -b -u applmgr -n 1|grep f60webmx|grep -v sh|grep -v awk|grep -v top|sort -nrk9|head -2|sed 's/^[ \t]*//;s/[ \t]*$//'| awk '{ if ($9 > 95 && $12 = "f60webmx") print $1 " "$9 " "$11 " "$12; }'`
PID2=`echo $VAR2|awk '{print $1}'`
CPU2=`echo $VAR2|awk '{print $2}'`
TIME2=`echo $VAR2|awk '{print $3}'`
PROG2=`echo $VAR2|awk '{print $4}'`
PID_2=`echo $VAR2|awk '{print $5}'`
CPU_2=`echo $VAR2|awk '{print $6}'`
TIME_2=`echo $VAR2|awk '{print $7}'`
PROG_2=`echo $VAR2|awk '{print $8}'`
HRS=`echo $TIME1|cut -d: -f1`
exprHRS=`expr "$HRS"`
echo "PID2="$PID2", CPU%="$CPU2", Running Time="$TIME2", Program="$PROG2>>/tmp/runaway_forms.log
echo "PID_2="$PID_2", CPU%="$CPU_2", Running Time="$TIME_2", Program="$PROG_2>>/tmp/runaway_forms.log
echo " ">>/tmp/runaway_forms.log
# If PID1 or PID2 is NULL
if [ -z ${PID1} ] || [ -z ${PID2} ]
then
echo "no top processes found. Either PID is NULL OR CPU% is less than 95%. Exiting...">>/tmp/runaway_forms.log
elif
# If PID1 is equal to PID2 or PID1=PID_2 or PID_1=PID2 or PID_1=PID_2
[ ${PID1} -eq ${PID2} ] || [ ${PID1} -eq ${PID_2} ] || [ ${PID_1} -eq ${PID2} ] || [ ${PID_1} -eq ${PID_2} ];
then
DB_SESSION=`$ORACLE_HOME/bin/sqlplus -S apps/$PWD @/home/applmgr/frm_runaway.sql $PID1 << EOF
EOF`
echo " ">>/tmp/runaway_forms.log
echo "DB_SESSION ="$DB_SESSION >>/tmp/runaway_forms.log
# if no DB session found for PID
if [ $DB_SESSION -eq 0 ] then
echo " ">>/tmp/runaway_forms.log
echo "Killed Following Runaway Forms Process:">>/tmp/runaway_forms.log
echo "-------------------------------------------------------------------">>/tmp/runaway_forms.log
echo "PID="$PID1", CPU%="$CPU1", Running Time="$TIME1", Program="$PROG1>>/tmp/runaway_forms.log
kill -9 $PID1
#Email the output
mailx -s "Killed: `hostname -a` Runaway Form Processes" [email protected] </tmp/runaway_forms.log
cat /tmp/runaway_forms.log
else
# If DB session exists for PID
if [ ${exprHRS} -gt 120 ]; then
echo $DB_SESSION "of Database sessions exist for this forms process-PID="$PID1". But its running for more than 2 hours. ">>/tmp/runaway_forms.log
echo "Process running time is "$exprHRS" minutes.">>/tmp/runaway_forms.log
echo "Killed Following Runaway Forms Process:">>/tmp/runaway_forms.log
echo "-------------------------------------------------------------------">>/tmp/runaway_forms.log
echo "PID="$PID1", CPU%="$CPU1", Running Time="$TIME1", Program="$PROG1>>/tmp/runaway_forms.log
kill -9 $PID1
#Email the output
mailx -s "`hostname -a`: Runaway Form Processes" [email protected] </tmp/runaway_forms.log
cat /tmp/runaway_forms.log
else
echo "Process running time is "$exprHRS" minutes.">>/tmp/runaway_forms.log
echo $DB_SESSION "of Database sessions exist for PID="$PID1" and is less than 2 hours old. Not killing...">>/tmp/runaway_forms.log
echo "For more details on this PID, run following SQL query;">>/tmp/runaway_forms.log
echo "-----------------------------------------------------------------------">>/tmp/runaway_forms.log
echo "set pages 9999 lines 150">>/tmp/runaway_forms.log
echo "select f.user_form_name, f.user_name, p.spid DB_OS_ID , s.process client_os_id,, s.audsid, f.PROCESS_SPID Forms_SPID,">>/tmp/runaway_forms.log
echo "to_char(s.logon_time,'DD-Mon-YY hh:mi:ss'), s.seconds_in_wait">>/tmp/runaway_forms.log
echo "from v\$session s , v\$process p, FND_FORM_SESSIONS_V f">>/tmp/runaway_forms.log
echo "where S.AUDSID=f.audsid and p.addr=s.paddr and s.process='"$PID1"' order by p.spid;">>/tmp/runaway_forms.log
mailx -s "`hostname -a`: Runaway Form Processes" [email protected] </tmp/runaway_forms.log
cat /tmp/runaway_forms.log
fi
fi
else
#if PID1 and PID2 are not equal or CPU% is less than 95%.
echo "No unique CPU hogging form processes found. Exiting...">>/tmp/runaway_forms.log
cat /tmp/runaway_forms.log
fi
If you have the same problem with some other unix and DB processes, the script can be easily modified and used.
But use this with thorough testing first (by commenting out <kill -9 $PID1> lines.
Good luck.
Edited by: R12_AppsDBA on 19/04/2012 13:10Thanks for sharing the script!
Hussein -
How could i get the kernel and user cpu usage for each process
Hi all,
In order to monitor the system CPU usage, I would like write a script to gather the kernel and user CPU usage for each process, like the prstat or top does. As always missing the shortlived kernel usage, prstat or top cann't get the precise CPU usage. I checked with the dtrace syscall, proc and fbt provider, but don't get which one is useful.
Please provide your comments and suggestion.
Thanks in advmail2sleepy wrote:
As I've studied the "dtrace" for a while, and seems Sun gives a pretty high score on this new feature.....I do want to know whether there's some probe can work for it, like writing a "dtrace" version prstat.You can write a prstat without dtrace. Because that's just polling at specific intervals and reading some process structures from /proc. You could have dtrace fire a probe every 5 seconds and read the same thing, but it wouldn't really be using any features of dtrace. Trhying to write it "in dtrace" doesn't make much sense.
What you could do that would be harder via other methods is to fire a probe at process exit that displayed the process information including total CPU time. They could print exactly when processes exited. Doing that without dtrace would be very difficult.
Darren -
Custom process code and FM for custom IDoc...
Hello Experts,
I created a custom IDoc based from ARTMAS05 IDoc. This is because we only need 3 segments and
the standard idoc(Artmas05) contains so many segments that we need.
Now, will I create a custom process code and FM for this? how do I go about this?
Thank you guys and take care!Hello,
Here are the Steps that we need to be following while creating a Custom Process Code with Custom Function Module. ( Since the Segments to be handled are very Less, I am recommending that you go for a Custom Function Module).
1. Go to SE37 Create a Function Module. Please ensure to Create it with the IMPORT / EXPORT /TABLES parameters exactly in the way that they exist in any Standard SAP Inbound FM (Refer to IDOC_INPUT_ORDERS for example).
2. Once our FM is Ready (Need not be Complete with the Code to go ahead with the Process Code Creation) and Active, the next Step is to Create an Entry in the Transaction Code BD51 where we will register the Function Module.
3. Next, we'll have to go to T-Code WE57 where we'll have to make an entry for the Function Module with the IDoc Type & Message Type.
4. Finally, go to WE42 and Create a New Process Code and assign the Function Module and the Message Type.
NOTE 1 : The Process Code is, as we know, Client Dependent. So, once you create a Process Code, we need to have it migrated to the Testing Environment to Start & Carry Out Testing.
NOTE 2: If Step 2 & 3 are missing, then we'll not be able to assign the Function Module in WE42 while Creating Process Code.
Hope it was helpful.
Thanks and Regards,
Venkata Phani Prasad K
Maybe you are looking for
-
We are fairly new iPhone users and my hubby lost (misplace he says) his iPhone but we had an another phone (not iPhone) and want to load his contacts onto a new SIM that he can use on that phone. We have changed his phone number to the new sim. I
-
Webi report on top of dervied tables
Hi Team, We are going to work on a migration work from Discoverer to BO 4.1. As per my understanding in discoverer each tab in a report has a SQL query (We have oracle as DB) which will be used to build that tab. Same for the next tab, it will have i
-
my ipod has the green lights however when i try to listen to music ....nothing ....i tried several head sets. how do i know when the ipod is finally dead
-
Crystal reports for enterprise 4 - media
Boa tarde, Tenho um report com uma crosstab e necessita de fazer uma media dos campos que não includa na media os campos que estão preenshidos com 0, a media consegui realizar, alguem sabe como fazer com que a media ignore os campos a 0? agradeciment
-
i lost all my data, dont know how this happen, screenis not working, i am using iphone5 is there any way apple can recover my data i have 400+ photos that i have cliked in last 2-3 days