Sponsored Content
Full Discussion: Java overhead
Top Forums Web Development Java overhead Post 302487182 by DGPickett on Tuesday 11th of January 2011 03:56:56 PM
Old 01-11-2011
Well, you can control JAVA behaviors with -X and other command line arguments, for instance to set the heap size -Xmx very high and to specify how much GC cost you want. GC is forced when the heap fills, and the heap is VM, disk is cheap, newer JAVA has nice GC, parallel and heuristic. These options also can turn on parrallel buffered I/O, resulting in fewer real reads and writes, faster with lower overhead, no code but one option.

Using a "Server" grade platform and server mode java means the code is more optimized.

Using 64 bit mode unnecessarily may add some overhead.

RAM is VM, so "RAM in use" is a useless concept. If a program using 20M of RAM exits, there is 20M free until there are 20M new page faults -- so what? Do you have too much paging?

CPU use is pretty much dependent on economical programming, finesse and real load. Finding out what code is the CPU hog is a big industry, easier in C/C++ than JAVA, as a short truss/tusc/strace of a JAVA process does not tell you much. Creation and destruction of complex objects frequently is a great cost, in JAVA or C++, and worse in JAVA since it forces more GC. Sometimes jobs running continuously can be run at intervals and in sequence, not in parallel, so they do not start the machine thrashing or peak the CPU usage.
 

3 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

overhead in the archive

Hi everyone, I am currently trying to work out the size overhead in the library archive. The total size of all my objects file is about 100KB. However, when I package them into the archive (libXX.a), the size gets boosted up to 200KB. I want to know what exact is that 100KB overhead. I tried... (1 Reply)
Discussion started by: jasoncrab
1 Replies

2. Programming

overhead of fopen/freopen

I always assumed the fopen/freopen is very costly, so when I needed to work with many files within on process I spent extra time to implement a list of FILE * pointers to avoid extra open/reopen but it did not produced any better results. Here is a task at hand - there is a huge stream of data... (4 Replies)
Discussion started by: migurus
4 Replies

3. UNIX for Dummies Questions & Answers

Overhead of using a shared library

Hi, I found a very strange thing when I linked my executable with a shared library. That is the executable only references a small function of the shared library, and the size of this function is only hundred bytes, but when I check the /proc/pid/smaps, I found that the 'Rss' of this shared... (8 Replies)
Discussion started by: Dongping84
8 Replies
DACS.JAVA(7)						  DACS Miscellaneous Information					      DACS.JAVA(7)

NAME
dacs.java - DACS Java support DESCRIPTION
This document describes support for Java provided by DACS. To enable Java support, DACS must be configured using the --enable-java flag. It may also be necessary to specify the location of the Java commands and include files. See dacs.install(7)[1]. Note Java support is currently very limited and should be considered experimental. It is currently only possible to call dacsauth(1)[2] and dacscheck(1)[3] using the Java Native Interface (JNI) provided. The command line arguments to both of these commands are exactly as documented in their manual pages. Each argument is passed as a String. The code is not thread-safe and is probably not suitable for being called many times within a particular process due to assumptions it makes about dynamic memory allocation. There are no immediate plans to improve or extend Java support. Using the existing capability to build the JNI layer, however, it should not be difficult for an experienced Java programmer to build upon the example Java code provided. With Java support enabled, building DACS will copy the JNI shared library and a .jar file to the library directory (default: /usr/local/dacs/lib), and the JNI include files to the include directory (default: /usr/local/dacs/include). The tools/java/jni distribution directory contains a simple script called javarun that demonstrates how to run dacsauth or dacscheck as a Java application. For example, to validate the Unix password for user somebody, run (as root): ./javarun dacsauth -m unix suff -user somebody -prompt DIAGNOSTICS
The return codes are as documented in the command's manual page. AUTHOR
Distributed Systems Software (www.dss.ca[4]) COPYING
Copyright2003-2012 Distributed Systems Software. See the LICENSE[5] file that accompanies the distribution for licensing information. NOTES
1. dacs.install(7) http://dacs.dss.ca/man/dacs.install.7.html 2. dacsauth(1) http://dacs.dss.ca/man/dacsauth.1.html 3. dacscheck(1) http://dacs.dss.ca/man/dacscheck.1.html 4. www.dss.ca http://www.dss.ca 5. LICENSE http://dacs.dss.ca/man/../misc/LICENSE DACS 1.4.27b 10/22/2012 DACS.JAVA(7)
All times are GMT -4. The time now is 12:15 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy