Zero Memory Management on a virtual server
Hello,
I hope you can help. I am looking into performance issues on a virtual server that hosts 2 SAP instances. The server is on windows 2003. It has 12GB of RAM and 30GB of paging.
PHYS_MEMSIZE on the Dev system is set to 8GB and PHYS_MEMSIZE is set to 12GB on the test system.
SQL has been allocated approximately 5GB of memory.
Through reading posts i have read that the split on the server for memory between SAP and SQL should be 70/30. So by me reckoning SQL should have about 3.5GB and SAP should have about 8GB shared between instances with a little left over for windows.
Is this correct?
Thanks in advance.
Emily
70/30 is just a rough estimate.
Check where your bottlenecks are and configure accordingly. If you really need 12 GB of RAM for the application server (check e.g. the peak usage in ST02) then you should leave that. If you don't then I'd give the database more RAM. More RAM --> more cache --> less reading --> faster system.
Markus
Similar Messages
-
Virtual server is already managed by another virtual server pool
I was trying to register a server to a server pool on OEM 10.2.0.5 console, on the first try it never completed the registration, it errored out. After doing 'clear operation error' I try to register the same server, Now I get "virtual server is already managed by another virtual server pool". Does any one ran into similar situation? How do I clear this? Thank you.
user589547 wrote:
I was trying to register a server to a server pool on OEM 10.2.0.5 console, on the first try it never completed the registration, it errored out. After doing 'clear operation error' I try to register the same server, Now I get "virtual server is already managed by another virtual server pool". Does any one ran into similar situation? How do I clear this? Thank you.It's fairly simple to clear. First, stop the ovs-agent on the server:
# service ovs-agent stopThen, remove the local ovs-agent database:
# rm -rf /etc/ovs-agent/db Then, start the agent again:
# service ovs-agent startThe agent will now be reset back to an unconfigured state. -
SAP Memory Management as of kernel 7.4
Hi everybody,
I was trying to look for all documents needed for the new Memeory Management of Kernel 7.4+
From SAP Note 2085980 I was redirected to SAP Note 1998242 but this one is currently not released.
Does any one of you have a copy of the Note 1998242 so I can continue with my first overview research?
Regards,
NiklasHi Niklas
You can use this note for mamagement memory from 7.40
88416 - Zero administration memory management for the ABAP server
I hope that this help you.
Josué Acuña -
What is difference between 32 bit and 64 bit sql server memory management
What is difference between 32 bit and 64 bit sql server memory management
Thanks
ShashikalaThis is the basic difference...check if helps:
A 32-bit CPU running 32-bit software (also known as the x86 platform) is so named because it is based on an architecture that can manipulate values that are up to 32 bits in length. This means that a 32-bit memory pointer can store a value between 0 and
4,294,967,295 to reference a memory address. This equates to a maximum addressable space of 4GB on 32-bit platforms
On the other hand 64-bit limit of 18,446,744,073,709,551,616, this number is so large that in memory/storage terminology it equates to 16 exabytes. You don’t come across that term very often, so to help understand the scale, here is the value converted to
more commonly used measurements: 16 exabytes = 16,777,216 petabytes (16 million PB)➤ 17,179,869,184 terabytes (17 billion TB)➤ 17,592,186,044,416 gigabytes (17 trillion GB)➤
As you can see, it is significantly larger than the 4GB virtual address space usable in 32-bit systems; it’s so large in fact that any hardware capable of using it all is sadly restricted to the realm of science fiction. Because of this, processor manufacturers
decided to only implement a 44-bit address bus, which provides a virtual address space on 64-bit systems of 16TB. This was regarded as being more than enough address space for the foreseeable future and logically it’s split into an 8TB range for user mode
and 8TB for kernel mode. Each 64-bit process running on an x64 platform will be able to address up to 8TB of VAS.
Please click the Mark as answer button and vote as helpful if this reply solves your problem -
Oracle Automatic Memory Management
Are there any restrictions or best practices regarding the setting of Oracle Automatic and Manual Memory Management (in particular the setting of these parameters: SGA_TARGET, SGA_MAX_SIZE, MEMORY_TARGET, MEMORY_MAX_TARGET) on various Oracle instances on the same server/node/virtual machine. In other words can the memory management schemes be mixed among various Oracle instances on the same server/node/virtual machine. For example suppose a server houses three Oracle instances - inst01, inst02, inst03. Can inst01 and inst03 use automatic memory management and inst02 use manual memory management. Are there any restrictions or best practices that should be noted? If there are multiple Oracle instances on the same server, is it a requirement that they all follow the same memory management scheme or is it a best practice to do so? Obviously, the total memory requested for the Oracle instances combined would not exceed the total physical memory available on the server.
Note: we are currently using Oracle 11g R2 specifically 11.2.0.1 on Solarissbing52 wrote:
Are there any restrictions or best practices regarding the setting of Oracle Automatic and Manual Memory Management (in particular the setting of these parameters: SGA_TARGET, SGA_MAX_SIZE, MEMORY_TARGET, MEMORY_MAX_TARGET) on various Oracle instances on the same server/node/virtual machine. Not really or at least I am not aware of.
In other words can the memory management schemes be mixed among various Oracle instances on the same server/node/virtual machine. Each instance is going to work individually so the answer is yes .
For example suppose a server houses three Oracle instances - inst01, inst02, inst03. Can inst01 and inst03 use automatic memory management and inst02 use manual memory management.Yes.
Are there any restrictions or best practices that should be noted? If there are multiple Oracle instances on the same server, is it a requirement that they all follow the same memory management scheme or is it a best practice to do so?As I said, not that I am aware of. As long as you are able to accommodate the memory requirements under your installed RAM, you should be okay.
Obviously, the total memory requested for the Oracle instances combined would not exceed the total physical memory available on the server.Yep.
Note: we are currently using Oracle 11g R2 specifically 11.2.0.1 on SolarisPatch to the latest patchset which is 11203.
Aman.... -
In 11g, How to Enable Automatic Shared Memory Management (ASMM)
hi experts,
I have a new 11.2 g database and I want to configure it to use ASMM.
To enable ASMM, should I assign a non-zero size to the Memory_Target parameter or the SGA_Target ? I have read conflicting statements.
Thanks, JohnIf you mean Automatic Memory Management, pl see
http://download.oracle.com/docs/cd/E11882_01/server.112/e10595/memory003.htm#ADMIN11011
http://download.oracle.com/docs/cd/E11882_01/server.112/e10897/instance.htm#ADMQS12039
HTH
Srini -
Questions about db_keep_cache_size and Automatic Shared Memory Management
Hello all,
I'm coming upon a server that I'm needing to pin a table and some objects in, per the recommendations of an application support call.
Looking at the database, which is a 5 node RAC cluster (11gr2), I'm looking to see how things are laid out:
SQL> select name, value, value/1024/1024 value_MB from v$parameter
2 where name in ('db_cache_size','db_keep_cache_size','db_recycle_cache_size','shared_pool_size','sga_max_size');
NAME VALUE VALUE_MB
sga_max_size 1694498816 1616
shared_pool_size 0 0
db_cache_size 0 0
db_keep_cache_size 0 0
db_recycle_cache_siz 0 0
e
Looking at granularity level:
SQL> select granule_size/value from v$sga_dynamic_components, v$parameter where name = 'db_block_size' and component like 'KEEP%';
GRANULE_SIZE/VALUE
2048
Then....I looked, and I thought this instance was set up with Auto Shared Mem Mgmt....but I see that sga_target size is not set:
SQL> show parameter sga
NAME TYPE VALUE
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 1616M
sga_target big integer 0
So, I'm wondering first of all...would it be a good idea to switch to Automatic Shared Memory Management? If so, is this as simple as altering system set sga_target =...? Again, this is on a RAC system, is there a different way to do this than on a single instance?
If that isn't the way to go...let me continue with the table size, etc....
The table I need to pin is:
SQL> select sum (blocks) from all_tables where table_name = 'MYTABLE' and owner = 'MYOWNER';
SUM(BLOCKS)
4858
And block size is:
SQL> show parameter block_size
NAME TYPE VALUE
db_block_size integer 8192
So, the space I'll need in memory for pinning this is:
4858 * 8192 /1024/1024 = 37.95.......which is well below my granularity mark of 2048
So, would this be as easy as setting db_keep_cache_size = 2048 with an alter system call? Do I need to set db_cache_size first? What do I set that to?
Thanks in advance for any suggestions and links to info on this.
cayenne
Edited by: cayenne on Mar 27, 2013 10:14 AM
Edited by: cayenne on Mar 27, 2013 10:15 AMJohnWatson wrote:
This is what you need,alter system set db_keep_cache_size=40M;I do not understand the arithmetic you do here,select granule_size/value from v$sga_dynamic_components, v$parameter where name = 'db_block_size' and component like 'KEEP%';it shows you the number of buffers per granule, which I would not think has any meaning.I'd been looking at some different sites studying this, and what I got from that, was that this granularity gave you the minimum you could set the db_keep_cache_size, that if you tried setting it below this value, it would be bumped up to it, and also, that each bump you gave the keep_cache, would be in increments of the granularity number....?
Thanks,
cayenne -
Archlinux on Microsoft Virtual Server - installs but doesn't boot
Hi all,
I'm trying to sneak Arch into our organization, but as we're very Windows-focussed it may take some time. I thought I would be able to install it as a virtual machine on our Virtual Server, but I haven't had any luck.
The system seemed to install fine, but when I restart the machine and take out the virtual CD it just sits there with a blank screen, but using 97% CPU.
Here's how I installed the system:
Physical machine: Core II Duo 2GHz running Windows Vista 32-bit, with 2GB memory and a 120GB IDE drive.
1) Setup a virtual machine - it has 256MB memory, and a 100GB dynamically-expanding IDE virtual hard disk.
2) Attached the Don't Panic 2007.08 BASE ISO to the Virtual Machine, and started her up.
3) Started the installer with arch ide-legacy. This is because I've run through this install a few times now and without this option it complains that it can't read from /dev/null a lot and that it has trouble writing to VHD.
4) Did an auto-prepare and selected all of the defaults to partition the virtual hard disk.
5) Selected all of the base packages and installed them.
6) Did the "configure system", and left everything as the defaults except setting the root password.
7) Installed the kernel, again leaving the defaults in the config file.
8) Installed the bootloader. Last time I used GRUB, but it sat there saying it was installing for over 2 hours. This time I tried LILO and it installed in less than a few seconds.
After all that was done I exited the installer and did a reboot. Now it sits at 97% CPU usage constantly and shows nothing but a blank screen. Using ALT+F1-F5 shows nothing.
Microsoft Virtual Server has support for the Red Hat and other distributions so I would have expected ArchLinux to work. Has anyone else had success in getting Arch to run on Virtual Server? And is there anything I did wrong in my installation?
Cheers,
PaulWell, according to this virtual pc 2004 supports archlinux 0.7.1 and 0.7.2 .
They claim virtual server 2005 uses the same core as virtual pc 2004 , so it should work.
Try installing with one of the previous isos, see ftp://ftp.archlinux.org/iso . -
Physical memory cache behavior in Windows Server 2008 Enterprise
I have a question regarding how windows manages the cache portion of phyiscal memory. I have 2 servers which are identical OS configurations, hardware and experience nearly identical workloads. Server 1 appears to use its cache a lot. I often
see physical cache at at 75% of total memory (total is 16gb for both servers). I also see that the cache stays this high
even when overall memory utilization is minimal (say approx. 3-4gb out of 16gb for long durations). I suppose this means windows memory manager is keeping pages in the cache because it anticipates it may need them again, but would overwrite them with
new data if new processes needed it (I think of this cached memory when the system is near idle as "available" but correct me if I am wrong?)
Server 2 (again same workload and identical hardware, OS, configuration) doesn't appear to use cache as much. In fact, cache is always low round the clock (2 gbs usually) even when there is little to no memory utilization from processes outside the OS. Basically,
it is low when the server is near idle, while the server 2 keeps it very high during the same period of minimal workload. Why the difference? Does this behavior sound normal? Please advise. I am not a Windows Admin btw. I have a rudimentary understanding
of memory.. or so I believe at least : )
Thanks.Hi,
Although both server are identical OS configurations, hardware and experience nearly identical workloads, there are still differences between them. We can use task manager on both server and Check which processes are using physical memory, please go through
the below article to check more details about windows performance issue:
Troubleshooting Windows Performance Issues: Lots of RAM but no Available Memory
http://blogs.technet.com/b/mspfe/archive/2012/12/06/lots-of-ram-but-no-available-memory.aspx
Regards,
Yan Li
TechNet Subscriber Support
If you are
TechNet Subscription
user and have any feedback on our support quality, please send your feedback
here.
Regards, Yan Li -
PS CS5 claims my video cards have zero memory, no GPU access!
Hi folks
Firsrt post here. I hope some one can assist as I have been dealing with this issue for few days now. My hard drive died last week...had to reinstall everything. Now, for some reason Photoshop refuses to enable OpenGL access even though before I was able to use Photoshop with same video cards. I have reinstalled the app multiple times, reset prefs many times, installed various versions of my video card drivers (right now I am on the latest drive). I checked Adobe and NVidia sites and my cards are listed as supported. I checked Device driver (shows cards installed ok) and Windows sees my cards and I check Direct X diagnostics and it sees my cards memories.
Here are my specs:
Windows Vista 32
2 x NVidia Geforce 8800 GTX (have a 512 memory each, not running SLI)
4 Gigs of RAM
2 x 500 Gig WD drives
Wacom Cintiq as second display
I know my OpenGL works because I am able to run Modo fine. I checked in Device Manager and all seems ok.
Here is the top part of what Photoshop shows in Systems Information:
Adobe Photoshop Version: 12.0 (12.0x20100407
[20100407.r.1103 2010/04/07:14:00:00 cutoff; r
branch]) x32
Operating System: Windows Vista 32-bit
Version: 6.0 Service Pack 2
System architecture: Intel CPU Family:6, Model:7,
Stepping:6 with MMX, SSE Integer, SSE FP, SSE2,
SSE3, SSE4.1
Physical processor count: 2
Processor speed: 2793 MHz
Built-in memory: 2046 MB
Free memory: 652 MB
Memory available to Photoshop: 1643 MB
Memory used by Photoshop: 70 %
Image tile size: 128K
Image cache levels: 4
Display: 2
Display Bounds:= top: 0, left: -1600, bottom: 1200,
right: 0
Display: 1
Display Bounds:= top: 0, left: 0, bottom: 1200,
right: 1920
Video Card Number: 1
Video Card: NVIDIA GeForce 8800M GTX
Driver Version: 8.17.12.7061
Driver Date: 20110408051400.000000-000
Video Card Driver:
nvd3dum.dll,nvwgf2um.dll,nvwgf2um.dll
Video Mode: 1920 x 1200 x 4294967296 colors
Video Card Caption: NVIDIA GeForce 8800M GTX
Video Card Memory: 0 MB
Video Card Number: 1
Video Card: NVIDIA GeForce 8800M GTX
Driver Version: 8.17.12.7061
Driver Date: 20110408051400.000000-000
Video Card Driver:
nvd3dum.dll,nvwgf2um.dll,nvwgf2um.dll
Video Mode: 1920 x 1200 x 4294967296 colors
Video Card Caption: NVIDIA GeForce 8800M GTX
Video Card Memory: 0 MB
Serial number: Tryout Version
Application folder: C:\Program Files\Adobe\Adobe
Photoshop CS5\
Temporary file path:
C:\Users\Arash\AppData\Local\Temp\
Photoshop scratch has async I/O enabled
Scratch volume(s):
C:\, 931.5G, 825.0G free
Primary Plug-ins folder: C:\Program
Files\Adobe\Adobe Photoshop CS5\Plug-ins\
Additional Plug-ins folder: not set
Again, the only thing I notice is zero memory for my cards which seems odd.
I greatly appreciate some help.
ThanksUpdate the video card driver, and if that doesn't work - talk to NVIdia.
We can only go by the values returned by the video card driver. -
Weblogic Admin Server not starting after Virtual Server move
Hi, we've migrated a VMware virtual server, and our Weblogic Admin (and managed IRM server) no longer start. The associated log files don't get updated and only the following info is present in the Command window, which I can only see if I use the /k switch, otherwise the windows shut immediately.
WLS Start Mode=Development
CLASSPATH=C:\Oracle\MIDDLE~3\WLSERV~1.3\server\ext\jdbc\oracle\11g\ojdbc6dms.jar
;C:\Oracle\MIDDLE~3\patch_wls1033\profiles\default\sys_manifest_classpath\weblog
ic_patch.jar;C:\Oracle\MIDDLE~3\patch_oepe1033\profiles\default\sys_manifest_cla
sspath\weblogic_patch.jar;C:\Oracle\MIDDLE~3\patch_ocp353\profiles\default\sys_m
anifest_classpath\weblogic_patch.jar;C:\Oracle\MIDDLE~3\JDK160~1\lib\tools.jar;C
:\Oracle\MIDDLE~3\WLSERV~1.3\server\lib\weblogic_sp.jar;C:\Oracle\MIDDLE~3\WLSER
V~1.3\server\lib\weblogic.jar;C:\Oracle\MIDDLE~3\modules\features\weblogic.serve
r.modules_10.3.3.0.jar;C:\Oracle\MIDDLE~3\WLSERV~1.3\server\lib\webservices.jar;
C:\Oracle\MIDDLE~3\modules\ORGAPA~1.1/lib/ant-all.jar;C:\Oracle\MIDDLE~3\modules
\NETSFA~1.0_1/lib/ant-contrib.jar;C:\Oracle\MIDDLE~3\ORACLE~1\soa\modules\common
s-cli-1.1.jar;C:\Oracle\MIDDLE~3\ORACLE~1\soa\modules\oracle.soa.mgmt_11.1.1\soa
-infra-mgmt.jar;C:\Oracle\MIDDLE~3\ORACLE~1\modules\oracle.jrf_11.1.1\jrf.jar;C:
\Oracle\MIDDLE~3\WLSERV~1.3\common\derby\lib\derbyclient.jar;C:\Oracle\MIDDLE~3\
WLSERV~1.3\server\lib\xqrl.jar
PATH=C:\Oracle\MIDDLE~3\patch_wls1033\profiles\default\native;C:\Oracle\MIDDLE~3
\patch_oepe1033\profiles\default\native;C:\Oracle\MIDDLE~3\patch_ocp353\profiles
\default\native;C:\Oracle\MIDDLE~3\WLSERV~1.3\server\native\win\32;C:\Oracle\MID
DLE~3\WLSERV~1.3\server\bin;C:\Oracle\MIDDLE~3\modules\ORGAPA~1.1\bin;C:\Oracle\
MIDDLE~3\JDK160~1\jre\bin;C:\Oracle\MIDDLE~3\JDK160~1\bin;C:\oraclexe\app\oracle
\product\10.2.0\server\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wb
em;C:\Program Files\Java\jdk1.6.0_20\bin;C:\Program Files\Apache Software Founda
tion\Apache2.2\modules;C:\Oracle\MIDDLE~3\WLSERV~1.3\server\native\win\32\oci920
_8
* To start WebLogic Server, use a username and *
* password assigned to an admin-level user. For *
* server administration, use the WebLogic Server *
* console at http:\\hostname:port\console *
starting weblogic with Java version:
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode)
Starting WLS with line:
C:\Oracle\MIDDLE~3\JDK160~1\bin\java -client -Xms256m -Xmx512m -XX:CompileThre
shold=8000 -XX:PermSize=128m -XX:MaxPermSize=512m -Dweblogic.Name=AdminServer -
Djava.security.policy=C:\Oracle\MIDDLE~3\WLSERV~1.3\server\lib\weblogic.policy
-Xverify:none -da -Dplatform.home=C:\Oracle\MIDDLE~3\WLSERV~1.3 -Dwls.home=C:\O
racle\MIDDLE~3\WLSERV~1.3\server -Dweblogic.home=C:\Oracle\MIDDLE~3\WLSERV~1.3\s
erver -Ddomain.home=C:\Oracle\MIDDLE~3\USER_P~1\domains\IRM_DO~1 -Dcommon.compo
nents.home=C:\Oracle\MIDDLE~3\ORACLE~1 -Djrf.version=11.1.1 -Dorg.apache.commons
.logging.Log=org.apache.commons.logging.impl.Jdk14Logger -Djrockit.optfile=C:\Or
acle\MIDDLE~3\ORACLE~1\modules\oracle.jrf_11.1.1\jrocket_optfile.txt -Doracle.do
main.config.dir=C:\Oracle\MIDDLE~3\USER_P~1\domains\IRM_DO~1\config\FMWCON~1 -Do
racle.server.config.dir=C:\Oracle\MIDDLE~3\USER_P~1\domains\IRM_DO~1\config\FMWC
ON~1\servers\AdminServer -Doracle.security.jps.config=C:\Oracle\MIDDLE~3\USER_P~
1\domains\IRM_DO~1\config\fmwconfig\jps-config.xml -Djava.protocol.handler.pkgs=
oracle.mds.net.protocol -Digf.arisidbeans.carmlloc=C:\Oracle\MIDDLE~3\USER_P~1\
domains\IRM_DO~1\config\FMWCON~1\carml -Digf.arisidstack.home=C:\Oracle\MIDDLE~
3\USER_P~1\domains\IRM_DO~1\config\FMWCON~1\arisidprovider -Dweblogic.alternateT
ypesDirectory=C:\Oracle\MIDDLE~3\ORACLE~1\modules\oracle.ossoiap_11.1.1,C:\Oracl
e\MIDDLE~3\ORACLE~1\modules\oracle.oamprovider_11.1.1 -Dweblogic.jdbc.remoteEna
bled=false -Dirm.oracle.home=C:\Oracle\MiddlewareNew\Oracle_ECM1 -Dem.oracle.ho
me=C:\Oracle\MiddlewareNew\oracle_common -Djava.awt.headless=true -Dweblogic.man
agement.discover=true -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToC
onsole= -Dweblogic.ext.dirs=C:\Oracle\MIDDLE~3\patch_wls1033\profiles\default\sy
sext_manifest_classpath;C:\Oracle\MIDDLE~3\patch_oepe1033\profiles\default\sysex
t_manifest_classpath;C:\Oracle\MIDDLE~3\patch_ocp353\profiles\default\sysext_man
ifest_classpath weblogic.Server
Is there another log file I could look at to get more info? None of the domain log files are updated.
ThanksThanks for the reply, this looks fine (I think)..the below is the output
Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation. All rights reserved.
C:\Users\Administrator.SEALEDINFO-PROD>cd C:\Oracle\MiddlewareNew\user_projects\
domains\irm_domain\bin
C:\Oracle\MiddlewareNew\user_projects\domains\irm_domain\bin>setdomainenv.cmd
C:\Oracle\MiddlewareNew\user_projects\domains\irm_domain>java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode)
C:\Oracle\MiddlewareNew\user_projects\domains\irm_domain>java weblogic.version
WebLogic Server 10.3.3.0 Fri Apr 9 00:05:28 PDT 2010 1321401
Use 'weblogic.version -verbose' to get subsystem information
Use 'weblogic.utils.Versions' to get version information for all modules
C:\Oracle\MiddlewareNew\user_projects\domains\irm_domain> -
HT4814 Is it possible to manage the mac mini server with server app before set up?
The article says using the server app I need to enter the IP address, then the Administrator name and password, but obviously on the first boot these are not configured yet. The article does not mention if this is possible or the server.app can only manage the server after its initial configuration using a monitor connected.
From dim memory... Load Server.app on the client box or use Server.app on some other handy server, and either configure DHCP with the server's MAC address (usually listed on the shipping box) and your intended static IP address and then boot the new target server box, or just boot the new target server box and use Bonjour Browser or the command-line dns-sd tool to find the IP address that the new server box has acquired from DHCP, and then in either case, connect to the new target server via Connect To Server in Server.app via its IP address, specify the root user and use the system serial number (again, usually listed on the shipping box) as the password.
-
Memory leak on SunOne Web Server 6.1 on application reload
Hi!
I am pretty sure that i have found a memory management problem in
SunOne Web Server 6.1 .
It started with an OutOfMemory error we got under heavy load . After
some profiling with Jprofiler i didn't find any memory leaks in the
application.Even under heavy load (generated by myself) i can't find
anything ,more, i can't reproduce the error! The memory usage is
about 20Mb and does not go up .
However it is pretty simple to see the following behavior:
[1] Restart the server (to have a clear picture) and wait a little for
memory usage to stabilize.
[2] In the application dir. touch .reload or one of the classes:
The memory usage goes up by another 50Mb (huge amount of mem. taking
into account the fact that it used only 20Mb under any load befor).
Do this another time and another 20Mb gone etc..
The JProfiler marks the memory used by classes . And it can be
clearly seen the GC can't release most of it.
I AM sure this is not the application that takes all the memory.
Another hint : after making the server to reload application i can see
that the number of threads ON EVERY RELOAD is going up by ~10-20
threads .The # of threads goes lower over time but not the mem usage.
My system:
Sparc Solaris 9 ,Java 1.4.2_04-b05, Sun ONE Web Server 6.1SP5
Evgenymy guess is that - because of '.reload' , web container tries to
recompile all the classes that you use within your web application and
hence the memory growth is spiking up.What do you mean by "tries to recompile"?The classes in
Web-inf are already compiled! And i have only ~5 jsp's .
(the most part of the applic. is a complicated business logic)
If you are talking about reloading them ,yes,that's the purpose of .reload,
isn't it? :).But it seems that container uses the memory for it's own
classes: the usage of memory for my classes don't really grow
that much (if at all) after reload (according to profiler)
Also the real problem is that the memory usage grows to much for
too long (neither seen it going down) and thus ends with OutOfMemory.
if you are seeing the memory growth to be flat in stress environment,
then I am not sure that why do you think that there is a memory leak ?There is no memory leak in stress environment.
There is memory leak while reloading the application.
It is a memory hog for sure (~20-30Mb for every reload).
Memory leak?It seems that way because i can't see memory usage go
down and after a lot of reloads OutOfMemory is thrown.
also, what is jvm heap that you use ? did you try jvm tune options like -
XX:+AggressiveHeap ?256Mb.I can set it bigger ,but how do i know that it will not just delay
the problem ?
Thanks for response.
Evgeny -
RE: (forte-users) memory management
Brenda,
When a partition starts, it reserves the MinimumAllocation. Within this
memory space, objects are created and more and more of this memory is
actually used. When objects are no longer referenced, they remain in memory
and the space they occupy remains unusable.
When the amount of free memory drops below a certain point, the garbage
collector kicks in, which will free the space occopied by all objects that
are no longer referenced.
If garbage collecting can't free enough memory to hold the additional data
loaded into memory, then the partition will request another block of memory,
equal to the IncrementAllocation size. The partition will try to stay within
this new boundary by garbage collecting everytime the available part of this
memory drops below a certain point. If the partition can't free enough
memory, it will again request another block of memory.
This process repeats itself until the partition reaches MaximumAllocation.
If that amount of memory still isn't enough, then the partition crashes.
Instrument ActivePages shows the memory reserved by the partition.
AllocatedPages shows the part of that memory actually used.
AvailablePages shows the part ot that memory which is free.
Note that once memory is requested from the operating system, it's never
released again. Within this memory owned by the partition, the part actually
used will always be smaller. But this part will increase steadily, until the
garbage collecter is started and a part of it is freed again.
There are some settings that determine when the garbage collector is
started, but I'm not sure which ones they are.
The garbage collector can be started from TOOL using
"task.Part.OperatingSystem.RecoverMemory()", but I'm not sure if that will
always actually start the garbage collector.
If you track AllocatedPages of a partition, it's always growing, even if the
partition isn't doing anything. I don't know why.
If you add AllocatedPages and AvailablePages, you shoud get the value of
ActivePages, but you won't. You always get a lower number and sometimes even
considerably lower. I don't know why.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
-----Original Message-----
From: Brenda Cumming [mailto:brenda_cummingtranscanada.com]
Sent: Tuesday, January 23, 2001 6:40 PM
To: Forte User group
Subject: (forte-users) memory management
I have been reading up on memory management and the
OperatingSystemAgent, and could use some clarification...
When a partition is brought online, is the ActivePages value set to the
MinimumAllocation value, and expanded as required?
And what is the difference between the ExpandAtPercent and
ContractAtPercent functions?
Thanks in advance,
Brenda
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comThe Forte runtime is millions of lines of compiled C++ code, packaged into
shared libraries (DLL's) which are a number of megabytes in size. The
space is taken by the application binary, plus the loaded DLL's, plus
whatever the current size of garbage collected memory is.
Forte allocates a garbage-collected heap that must be bigger than the size
of the allocated objects. So if you start with an 8MB heap, you will always
have at least 8MB allocated, no matter what objects you actually
instantiate. See "Memory Issues" in the Forte System Management Guide.
-tdc
Tom Childers
iPlanet Integration Server Engineering
At 10:37 PM 6/11/01 +0200, [email protected] wrote:
Hi all,
I was wondering if anyone had any experience in deploying clients on NT
concerning
the memory use of these client apps.
What is the influence of the various compiler options (optimum
performance, memory use etc)?
We seem to see a lot of the memory is taken by the Forte client apps (seen
in the Task Manager
of NT) in respect to the other native Window apps. For example an
executable of approx 4Mb takes up to
15Mb of memory. When I look at the objects retained in memory after
garbage collection, these are about
2Mb. Where do the other Mb's come from? -
How does object memory management works?
Hi all,
I'm having a lot of problems with memory which seems not to be released when using objects (on Oracle 9i 9.0.1.1.1). I've prepared the following test:
create type t_test as object (
id number,
member function FunctTest(TBL IN CHAR, expand IN CHAR) return varchar2
) not final;
create or replace type body t_test as
MEMBER FUNCTION FunctTest(TBL IN CHAR, expand IN CHAR) RETURN varchar2 IS
BEGIN
return NULL;
END FunctTest;
end;
create or replace function FunctTest2(TBL IN CHAR, expand IN CHAR) RETURN varchar2 IS
BEGIN
return NULL;
END FunctTest2;
create table tab_test of t_test;
insert into tab_test values(1);
commit;
As you can see, I create a simple type with a member function, and a schema function who does the same (nothing, in this case). Then I call the two functions with the following PL/SQL blocks:
declare i integer;
t varchar2(4000);
ob t_test;
begin
select value(a) into ob from tab_test a where a.id=1;
for i in 1..5000 loop
select ob.FunctTest('A','S') into t from dual;
end loop;
end;
declare i integer;
t varchar2(4000);
begin
for i in 1..5000 loop
select FunctTest2('A','S') into t from dual;
end loop;
end;
If you run these blocks with Task Manager opened (I use W2000) on server console, you can see how memory usage grows very fast with the first block, and how it doesn't change with the second one.
The memory isn't released till the session is alive.
I'm trying to develop an object application, but these memory leaks are making me crazy.
Geoff, does release 2 solve some of these problems?
In particular, please, do I need to free by myself temporary objects (these ones referenced in PL/SQL blocks)? In which way? I haven't found anything about object memory management in documentation...
As always,
Thanks for any support to everybody.
Andrea Arilotta
[email protected]Andrea,
Do you have an Oracle Support customer ID? If you can log a TAR on http://metalink.oracle.com with your customer id, someone can take a closer look at this problem.
Regards,
Geoff
Hi all,
I'm having a lot of problems with memory which seems not to be released when using objects (on Oracle 9i 9.0.1.1.1). I've prepared the following test:
create type t_test as object (
id number,
member function FunctTest(TBL IN CHAR, expand IN CHAR) return varchar2
) not final;
create or replace type body t_test as
MEMBER FUNCTION FunctTest(TBL IN CHAR, expand IN CHAR) RETURN varchar2 IS
BEGIN
return NULL;
END FunctTest;
end;
create or replace function FunctTest2(TBL IN CHAR, expand IN CHAR) RETURN varchar2 IS
BEGIN
return NULL;
END FunctTest2;
create table tab_test of t_test;
insert into tab_test values(1);
commit;
As you can see, I create a simple type with a member function, and a schema function who does the same (nothing, in this case). Then I call the two functions with the following PL/SQL blocks:
declare i integer;
t varchar2(4000);
ob t_test;
begin
select value(a) into ob from tab_test a where a.id=1;
for i in 1..5000 loop
select ob.FunctTest('A','S') into t from dual;
end loop;
end;
declare i integer;
t varchar2(4000);
begin
for i in 1..5000 loop
select FunctTest2('A','S') into t from dual;
end loop;
end;
If you run these blocks with Task Manager opened (I use W2000) on server console, you can see how memory usage grows very fast with the first block, and how it doesn't change with the second one.
The memory isn't released till the session is alive.
I'm trying to develop an object application, but these memory leaks are making me crazy.
Geoff, does release 2 solve some of these problems?
In particular, please, do I need to free by myself temporary objects (these ones referenced in PL/SQL blocks)? In which way? I haven't found anything about object memory management in documentation...
As always,
Thanks for any support to everybody.
Andrea Arilotta
[email protected]
Maybe you are looking for
-
Dynamic configuration in server ( FTP receiver channel)
Receiver File Adapter - Dynamic FTP Server Address Posted: Mar 16, 2006 3:25 PM Reply E-mail this post Hi I would like to pass the FTP Server address to the Receiver File Adapter as a parameter but variable substitution seems not to wor
-
Open Parameter "search" in PDF
Hi, I try to use parameters to open pdf in firefox-brower with URL. Is it possible to search a string with space? For example, I use the following command to search "390 360 51 07" as whole word in a pdf file. http://192.168.1.20/test/3868049000.pdf#
-
Using URL Parameters with HTTP Comms Channel
Hi, I need to build a new interface (HTTP - RFC) which will use several URL parameters. I've created a HTTP communications channel and Sender Service and this works. I'm able to define several URL Parameters by checking 'Adapter-Sepcific Message Attr
-
Handling unit( 4 shirt in one pack and 8 pack in one cartoon)
hi all MM guru.... i want to the handling unit process...actually i don't have idea about this how i will start for this... actually my clint want....4 shirt packing in one packet and 8 packet in one cartoon.... then how i will manage in SAP... kin
-
CO document missing in KOB1 but document exists in FS10N Background: Period 6: We posted transaction with F-90 Account 19430 (Recon. Acct) but was not created as cost element and no cost object (internal order) was used There is document in FI (FS10N