The 10th recipe of this year is available here. This one has been adapted from the original post from the blog of Tobias Rienmueller and I’m posting it on my blog so that I can refer to it and be able to look for it later easily. All credits go for the original poster 🙂
I was in the process of getting the much awaited heap dump using jmap, from an ailing java process and booom !! This happens !!
Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: Can't attach to the process
Well, there are two things here that needs to be taken care off.
- The jmap process and the java process ( of whose, the heap dump is being taken ) should be running in the same user id.
- There is a linux ptrace bug which will prevent jmap from attaching to the java process. To resolve this, punch in the following command before you execute the jmap heapdump command.
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
Now go ahead and execute the heapdump command using jmap.
jmap -heap:format=b <process-id>
and voila !!…You are done !! 🙂 🙂
New recipe has been provided. Enjoy!
The second recipe has been created and published. This second one is more like a tip related to systems administration but, hopefully, still useful to some of us.
Two years ago, I proposed myself the challenge of getting some professional certifications. I concluded that I was used to reading many technical books during the year and, although I could use the insight knowledge from those readings in my daily work, I wasn’t taking full advantage of that study. Back then, I realized that I could take a step forward and use that study to achieve one or more related certifications.
Therefore, I started reading some technical books (the same way I used to do before) but with a more specific goal: to certify my knowledge and skills on some specific areas.
From October 2010 till November 2012, I was able to get all 6 Java certifications I was interested in (in increasing date order):
- OCT-2010 – Oracle Certified Professional, Java SE 6 Programmer
- MAR-2011 – Oracle Certified Master, Java EE 5 Enterprise Architect
- AUG-2011 – Oracle Certified Professional, Java EE 5 Web Services Developer
- JAN-2012 – Oracle Certified Expert, EE 6 Java Persistence API Developer
- AUG-2012 – Oracle Certified Professional, Java EE 5 Business Component Developer
- NOV-2012 – Oracle Certified Expert, Java Platform, EE 6 Web Component Developer
From those, the most challenging ones were, without question, the Java EE 5 Enterprise Architect and the Java EE 5 Web Services Developer, for different reasons.
Taking the Enterprise Architect is a real challenge for busy people (specially, when you are married and have small kids) because the way I usually study (reading while commuting) is not enough to take the second step in that certification path, which consists in a hands on for the definition of an architecture that solves a particular case scenario problem, followed by an essay on its regard. For instance, when I started the preparation for that certification, we created a group of people to take it. I needed about 1 month of full power, mind availability and effort (none of those would be possible, though, if I hadn’t had the necessary support from my wonderful wife – thank you, baby! 🙂 ) to complete the assignment but I made it.
The Web Services Developer, on the other hand, was a very hard exam (at least, in my humble opinion) and I had the real bad experience of using one of Oracle’s study guides to get prepared for the certification. Trust me, people: it really sucks (it’s too bad that, in Oracle Website, the only study sources they recommend are those from Oracle itself) – I believe there were 2 or 3 slides talking about WS-I Basic Profile in that study guide and my exam was about 50/60% WS-I Basic Profile related questions…
In 2013, I realized that I had to define new challenges. Thus, to be able to get more focused, I googled for the top IT certifications in 2013 but the results were terrible. For instance, according to the Global knowledge website, the following were the top 15 paying certifications for 2013:
- PMP: Project Management Professional
- CISSP: Certified Information Systems Security Professional
- MCSD: Microsoft Certified Solutions Developer
- MCDBA: Microsoft Certified Database Administrator
- CCDA®: Cisco Certified Design Associate
- MCAD: Microsoft Certified Application Developer
- VCP-DV: VMware Certified Professional Datacenter Virtualization
- CNE: Certified Novell Engineer
- ITIL v3 Foundation
- CCA: Citrix Certified Administrator – Citrix XenServer 6
- MCITP: Database Administrator
- MCTS: SQL Server 2005
- MCT: Microsoft Certified Trainer
- CCNP®: Cisco Certified Network Professional
- CCA: Citrix Certified Administrator – Citrix XenDesktop 5
So, only project management related certifications (I am a certified project manager from IPMA but I am still not in the mood to be only a project manager – I like developing too much to be there yet!), networking and systems administration, or Microsoft related certifications (ouch!), or yet, ITIL. From those, I realized that I am a Java developer and not a systems administrator but, as an architect, I have the obligation of knowing a lot more about a system’s architecture than what I know at the moment. Therefore, and although I did not choose any of the listed certifications above, I decided to start the path of getting more knowledge and experience with systems administration concepts, specifically Linux systems. Therefore, I started, in the beginning of February of 2013, the preparation for the LPIC (Linux Professional Institute Certification) 1 and, after nearly 15 days of study, suddenly some things I use to hear from systems administrators, all made much more sense to me now. So, this is one of my first advises for any developer reading this post: do not neglect your systems administrations skills. They will be handy sometime near in the future 😉