?
Solved

how to tell memory useage of my app in a Mac

Posted on 2014-02-06
3
Medium Priority
?
490 Views
Last Modified: 2014-02-11
i am introducing caching to one of my apps (it calls various service methods to access data from DB), and i want to find out how much extra physical memory it takes.  i have tried the activity monitor and also this:

$ Ps -ef | grep dsp
716566150  3234  1070   0  5:41PM ttys000    1:43.18 /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -server -Xms128M -Xmx512M -XX:+HeapDumpOnOutOfMemoryError -XX:PermSize=128M -Dcom.sun.management.jmxremote -Ddsp-env=osgi -Djava.net.preferIPv4Stack=true -Djava.security.egd=file:///dev/urandom -Djava.endorsed.dirs=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/endorsed:/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/lib/endorsed:/Users/212353126/GIA150/dsp-k-1.5.0/lib/endorsed -Djava.ext.dirs=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/ext:/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/lib/ext:/Users/212353126/GIA150/dsp-k-1.5.0/lib/ext -Dkaraf.instances=/Users/212353126/GIA150/dsp-k-1.5.0/instances -Dkaraf.home=/Users/212353126/GIA150/dsp-k-1.5.0 -Dkaraf.base=/Users/212353126/GIA150/dsp-k-1.5.0 -Dkaraf.data=/Users/212353126/GIA150/dsp-k-1.5.0/data -Djava.io.tmpdir=/Users/212353126/GIA150/dsp-k-1.5.0/data/tmp -Djava.util.logging.config.file=/Users/212353126/GIA150/dsp-k-1.5.0/etc/java.util.logging.properties -Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true -classpath /Users/212353126/GIA150/dsp-k-1.5.0/lib/karaf-jaas-boot.jar:/Users/212353126/GIA150/dsp-k-1.5.0/lib/karaf.jar org.apache.karaf.main.Main
716566150  3408  3182   0  5:59PM ttys004    0:00.00 grep dsp

but i am not sure what all the results mean.  for example, what is the memory usage?  is it possible to break the usage down to a finer level, e.g. by thread or service call?  also is there a way to log the usage?
0
Comment
Question by:mmingfeilam
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 14

Assisted Solution

by:Phil Phillips
Phil Phillips earned 1000 total points
ID: 39841247
I'm not aware of something that can show memory usage per thread, but you can see the usage of the JVM and its different memory spaces using jstat.

Here's the man page for OSX: https://developer.apple.com/library/mac/documentation/Darwin/Reference/Manpages/man1/jstat.1.html
0
 
LVL 16

Accepted Solution

by:
Valeri earned 1000 total points
ID: 39841267
put this lines before operation and after operation an you will see:

long usedMB = (runtime.totalMemory() - runtime.freeMemory()) / 1024 / 1024;
System.out.println("memory usage" + usedMB);

for more information use VisualVM, it's much more better than jstat.
http://visualvm.java.net/
0
 
LVL 30

Expert Comment

by:serialband
ID: 39851604
If you just wanted %mem, you could just do that with ps.

ps -meo %mem -o command|more
0

Featured Post

Connect further...control easier

With the ATEN CE624, you can now enjoy a high-quality visual experience powered by HDBaseT technology and the convenience of a single Cat6 cable to transmit uncompressed video with zero latency and multi-streaming for dual-view applications where remote access is required.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article we discuss how to recover the missing Outlook 2011 for Mac data like Emails and Contacts manually.
This article outlines the struggles that Macs encounter in Windows-dominated workplace environments – and what Mac users can do to improve their network connectivity and remain productive.
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
Suggested Courses
Course of the Month8 days, 10 hours left to enroll

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question