Performance/Memory Concerns
I have implemented my own logging strategy in an my applet which sends my log messages to a servlet that writes them to a file on the server. However I would also like to view these messages on the client side by useing Sytem.out.println(...) to put them in the Jave Plugin Console. I have the abbility to control the level of the logging from full off to full on and some step in beteween. My concern is that with logging full on there may be tens of thousands of messages printed to the Console in an hour of use which may impact performance or take up enough memory to cause more harm than good. Any thoughts? As a note logging would generally be turned off under normal operating conditions this would only be used by a maintainer to track down a problem.
The maintainer then could select the logging level as needed.
I see no problems - as long as the console doesn't go directly to hardcopy.
Similar Messages
-
Bulk batch Jax-WS web services and memory concerns
I have a requirement to create a web service client to upload 150,000+ records from our database. My main question is whether others are creating web services to process bulk data and how they handle memory concerns.
I began with the standard API, populating the jax-b annotated beans created from the wsimport. I used JConsole to analyze memory usage. I noticed that there is a sharp spike in the plot of the heap usage (from 200MB to 800MB) right after the invoke method call.
The problem is that the max heap size on our app server is set to 1GB and since this application shares it with other applications I keep getting a out of memory error.
I was asked to look for alternatives, so I tried using the Dispatch API creating the payload by sub-tree marshaling to StAX. The issue I then ran into is that I have a outputstream and the dispatch api is expecting an inputstream. I tried the options found here http://ostermiller.org/convert_java_outputstream_inputstream.html
However after using jconsole to analyze again it appears the writing to a temp file or using a byte array increases the amount of memory being used to almost equivalent of using the standard API. I tried using piped streams in separate threads and the single threaded circular buffer methods, but the application seems to hang after the invoke method call.
Any help would be appreciated.also, you could "page" the data, returning some max number of records in each page of data and a "next page" cookie. this is the standard approach to returning bulk data from a web service.
-
Wat is best ios for iphone 3g as far as battery performance is concerned?
wat is best ios for iphone 3g as far as battery performance is concerned?
According to tests done in the wild iOS4 lasted 5% longer than iOS3 (about 10 minutes). Not much of a notible difference. Best bet is to upgrade your phone. A 3Gs on iOS4 ran more than 30 minutes longer on the same test.
-
Need help with performance & memory tuning in a data warehousing environment
Dear All,
Good Day.
We had successfully migrated from a 4 node half-rack V2 Exadata to a 2 node quarter rack X4-2 Exadata. However, we are facing some issues with performance only for few loads while others have in fact shown good improvement.
1. The total memory on the OS is 250GB for each node (two compute nodes for a quarter rack).
2. Would be grateful if someone could help me with the best equation to calculate the SGA and PGA ( and also in allocation of shared_pool, large_pool etc) or whether Automatic Memory Management is advisable?
3. We had run exachk report which suggested us to configure huge pages.
4. When we tried to increase the SGA to more than 30GB the system doesn't allow us to do so. We had however set the PGA to 85GB.
5. Also, we had observed that some of the queries involving joins and indexes are taking longer time.
Any advise would be greatly appreciated.
Warm Regards,
Vikram.Hi Vikram,
There is no formula about SGA and PGA, but the best practices for OLTP environments is for a give ammount of memory (which cannot be up to 80% of total RAM from server) you should make 80% to SGA and 20% to PGA. For Data Warehouse envs, the values are like 60% SGA and 40% PGA or it can be up to 50%-50%. Also, some docs disencourage you to keep the database in Automatic Memory Management when you are using a big SGA (> 10G).
As you are using a RAC environment, you should configure Huge Pages. And if the systems are not allowing you to increase memory, just take a look at the semaphore parameters, probably they are set lower values. And for the poor performance queries, we need to see explain plans, table structure and you would also analyze if smart scan is playing the game.
Regards. -
Best Performing Memory Configuration
Is there a performance difference between eight 512 mb memory sticks (4 Gigabytes total) and two 2 Gig (4 Gigabytes total)? I heard that latency increases with the number of memory sticks, but is this significant?
I am looking at the most cost effective way to get to 3-4 total gigabytes of memory. It looks like I have to buy the system with at least two 512 sticks. If I want to get to 4 gigabytes I either have to throw out this memory or go with some other combination. Two 512 sticks and two 1 gigabyte sticks would work, but I don't know if 3 gigabytes of memory will be enough. I want to be able to use Aperture and Photoshop without any limitations.
G4 Powerbook Mac OS X (10.4.8) CD 23Yes there is data, from both Apple and Intel (and probably on Crucial's site).
256-bit wide requires two DIMMs on each Riser.
There is a boost using 1GB or 2GB DIMMs as well, making 4 x 1GB your best performance configuration.
Crucial Mac Pro
RAM Expansion
AnandTech - Understanding FB-DIMMs
Ars Review
- benchmarking charts
Barefeats: Mac Pro Memory considerations
AMUG review looks at Mac Pro (includes memory bench tests)
What are FB-DIMMs?
How FB-DIMM Memories Work
Memory latency was perhaps the greatest weakness of the G5 / U3 northbridge combo. Memory latency was perhaps the greatest weakness of the G5 / U3 northbridge combo. XLR8 BBS
Inside the Mac Pro MacWorld: Memory
Mac Pro 2GHz 2GB WD 10K Raptor; MDD G4 Mac OS X (10.4.8) APC RS1500/XS1500; Vista -
Hello All,
I'm developing an application and I've written this bean containing [many] convenience methods.
Now, over time, I've added more and more methods to this particular bean until the compiled class has risen to the approximate size of 80K. Which isn't massive, but seeing it contains a fairly substantial amount of code and I instantiate it in practically every single class that I've written, I'm concerned as to whether I've taken the correct approach from a memory usage point of view.
It's rare that any given class will use ALL of the methods that I've written into this 80K bean, in fact it's rare that a class will use more than a few methods for each instantiation.
Is it therefore best practice to "bust" beans like this up and leave the method names in the bean, but extract the code into a sub-package instead? That way the 80K bean could be reduced to a fraction of it's total potential size and only access the code the loading class needs...
OR
Are my concerns just issues that were relevent in the past and should I just trust the caching abilities of the JVM (the standard Sun JVM in this case)?Each class and its methods are loaded at most once (unless you have multiple classloaders)
This means you can create as many instances as you wish without increasing the code size at all.
What is a good number of methods to have depends on coding style and there are some classes in the standard libraries with more methods than you suggest.
The to do what you suggest is to have all the helper methods in a Helper or Service class. You can have the base class and a getHelper() method to get all the methods you want as help methods. The base class can call the helper for you for key methods.
Have alook at the number of methods including inherited methods
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JTable.html
void addColumn(TableColumn aColumn)
void addColumnSelectionInterval(int index0, int index1)
void addNotify()
void addRowSelectionInterval(int index0, int index1)
void clearSelection()
void columnAdded(TableColumnModelEvent e)
int columnAtPoint(Point point)
void columnMarginChanged(ChangeEvent e)
void columnMoved(TableColumnModelEvent e)
void columnRemoved(TableColumnModelEvent e)
void columnSelectionChanged(ListSelectionEvent e)
protected void configureEnclosingScrollPane()
int convertColumnIndexToModel(int viewColumnIndex)
int convertColumnIndexToView(int modelColumnIndex)
protected TableColumnModel createDefaultColumnModel()
void createDefaultColumnsFromModel()
protected void createDefaultRenderers()
protected ListSelectionModel createDefaultSelectionModel()
protected JTableHeader createDefaultTableHeader()
static JScrollPane createScrollPaneForTable(JTable aTable)
void doLayout()
boolean editCellAt(int row, int column)
boolean editCellAt(int row, int column, EventObject e)
void editingCanceled(ChangeEvent e)
void editingStopped(ChangeEvent e)
AccessibleContext getAccessibleContext()
boolean getAutoCreateColumnsFromModel()
int getAutoResizeMode()
TableCellEditor getCellEditor()
TableCellEditor getCellEditor(int row, int column)
Rectangle getCellRect(int row, int column, boolean includeSpacing)
TableCellRenderer getCellRenderer(int row, int column)
boolean getCellSelectionEnabled()
TableColumn getColumn(Object identifier)
Class getColumnClass(int column)
int getColumnCount()
TableColumnModel getColumnModel()
String getColumnName(int column)
boolean getColumnSelectionAllowed()
TableCellEditor getDefaultEditor(Class columnClass)
TableCellRenderer getDefaultRenderer(Class columnClass)
boolean getDragEnabled()
int getEditingColumn()
int getEditingRow()
Component getEditorComponent()
Color getGridColor()
Dimension getIntercellSpacing()
TableModel getModel()
Dimension getPreferredScrollableViewportSize()
int getRowCount()
int getRowHeight()
int getRowHeight(int row)
int getRowMargin()
boolean getRowSelectionAllowed()
int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
boolean getScrollableTracksViewportHeight()
boolean getScrollableTracksViewportWidth()
int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
int getSelectedColumn()
int getSelectedColumnCount()
int[] getSelectedColumns()
int getSelectedRow()
int getSelectedRowCount()
int[] getSelectedRows()
Color getSelectionBackground()
Color getSelectionForeground()
ListSelectionModel getSelectionModel()
boolean getShowHorizontalLines()
boolean getShowVerticalLines()
boolean getSurrendersFocusOnKeystroke()
JTableHeader getTableHeader()
String getToolTipText(MouseEvent event)
TableUI getUI()
String getUIClassID()
Object getValueAt(int row, int column)
protected void initializeLocalVars()
boolean isCellEditable(int row, int column)
boolean isCellSelected(int row, int column)
boolean isColumnSelected(int column)
boolean isEditing()
boolean isRowSelected(int row)
void moveColumn(int column, int targetColumn)
protected String paramString()
Component prepareEditor(TableCellEditor editor, int row, int column)
Component prepareRenderer(TableCellRenderer renderer, int row, int column)
protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)
void removeColumn(TableColumn aColumn)
void removeColumnSelectionInterval(int index0, int index1)
void removeEditor()
void removeNotify()
void removeRowSelectionInterval(int index0, int index1)
protected void resizeAndRepaint()
int rowAtPoint(Point point)
void selectAll()
void setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)
void setAutoResizeMode(int mode)
void setCellEditor(TableCellEditor anEditor)
void setCellSelectionEnabled(boolean cellSelectionEnabled)
void setColumnModel(TableColumnModel columnModel)
void setColumnSelectionAllowed(boolean columnSelectionAllowed)
void setColumnSelectionInterval(int index0, int index1)
Selects the columns from index0 to index1, inclusive.
void setDefaultEditor(Class columnClass, TableCellEditor editor)
void setDefaultRenderer(Class columnClass, TableCellRenderer renderer)
void setDragEnabled(boolean b)
void setEditingColumn(int aColumn)
void setEditingRow(int aRow)
void setGridColor(Color gridColor)
void setIntercellSpacing(Dimension intercellSpacing)
void setModel(TableModel dataModel)
void setPreferredScrollableViewportSize(Dimension size)
void setRowHeight(int rowHeight)
void setRowHeight(int row, int rowHeight)
void setRowMargin(int rowMargin)
void setRowSelectionAllowed(boolean rowSelectionAllowed)
void setRowSelectionInterval(int index0, int index1)
void setSelectionBackground(Color selectionBackground)
void setSelectionForeground(Color selectionForeground)
void setSelectionMode(int selectionMode)
void setSelectionModel(ListSelectionModel newModel)
void setShowGrid(boolean showGrid)
void setShowHorizontalLines(boolean showHorizontalLines)
void setShowVerticalLines(boolean showVerticalLines)
void setSurrendersFocusOnKeystroke(boolean surrendersFocusOnKeystroke)
void setTableHeader(JTableHeader tableHeader)
void setUI(TableUI ui)
void setValueAt(Object aValue, int row, int column)
void sizeColumnsToFit(boolean lastColumnOnly)
void sizeColumnsToFit(int resizingColumn)
void tableChanged(TableModelEvent e)
protected void unconfigureEnclosingScrollPane()
void updateUI()
void valueChanged(ListSelectionEvent e)
Methods inherited from class javax.swing.JComponent
addAncestorListener, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait -
Performance/Memory usage with WAD Templates in BIW
Hi All,
We have an E-Portal application on a CERT environment where a user can log in and see the templates created in WAD through internet.
Most of the templates are stateful to facilitate export to Excel,XML and CSV along with saving of Graphs and charts.
As the templates are stateful, they consume a lot of memory and under stress testing, application tanks when there are more than 15 simultaneous users as each user consumes approx 1 gb of memory.
The response time also is very high.
Is there any way to increase the performance without making the templates stateless?
If no, is there any way we can get the required functionality by making the templates stateless?
Regards,
GodhuliHi gaurav,
I am not sure how I am using these commands. I am currently using a STATELESS connection. Take a look at the code below:
<param name="OWNER" value="SAP_BW"/>
<param name="CMD" value="SET_PROPERTIES"/>
<param name="TEMPLATE_ID" value="ZADHOC_V1"/>
<param name="PROPERTIES_ID"
value="ZQ_WEB_LIBRARY_TEMP_PROPERTIES"/>
<param name="STATELESS" value="X"/>
<param name="DATA_MODE" value=""/>
<param name="DEVICE_OPTIMIZATION" value=""/>
<param name="NO_SESSION_COOKIE" value="X"/>
<param name="MENU_CHARACTERISTIC_PROPERTIES" value="X"/>
<param name="USE_PAGE_WRAPPER" value="X"/>
<param name="CMENU_LABEL" value="Print"/>
<param name="CMENU_FUNCTION" value="callPrintHelpService"/>
My question is how can I emulate the same functionality of a STATELESS Connection i.e. break the connection from the application server once the query has run? I do not want to run the STATELESS Connection anymore.
Also, could you show how/where to use the cmd=log_off&session_cmd=cancel code that you sent earlier.
Thanks,
Rahul -
Windows 7 U. - 32 Bit vs 64 Bit Performance scores: wondering why Memory test is so much lower on same computer 32Bit vs. 64Bit
Windows 7 Ultimate 32Bit
Component Details Score
Processor Intel(R) Xeon(R) CPU E5462 @ 2.80GHz 7.7
Memory (RAM) 4.00 GB 5.5
Graphics ATI Radeon HD 4800 Series 6.8
Gaming 1275 MB Total available graphics memory 6.8
Primary hard disk 31GB Free (69GB Total) 5.7
System
Manufacturer Apple Inc.
Model MacPro3,1
Total amount of system memory 4.00 GB RAM
System type 32-bit operating system
Number of processor cores 8
64-bit capable Yes
Graphics
Display adapter type ATI Radeon HD 4800 Series
Total available graphics memory 1275 MB
Dedicated graphics memory 512 MB
Dedicated system memory 0 MB
Shared system memory 763 MB
Display adapter driver version 8.632.1.2000
Primary monitor resolution 1152x864
DirectX version DirectX 10
Windows 7 Ultimate 64Bit
Component Details Score
Processor Intel(R) Xeon(R) CPU E5462 @ 2.80GHz 7.7
Memory (RAM) 4.00 GB 7.7
Graphics ATI Radeon HD 4800 Series 6.8
Gaming graphics 2299 MB Total available graphics memory 6.8
Primary hard disk 37GB Free (59GB Total) 5.7
System
Manufacturer Apple Inc.
Model MacPro3,1
Total amount of system memory 4.00 GB RAM
System type 64-bit operating system
Number of processor cores 8
Graphics
Display adapter type ATI Radeon HD 4800 Series
Total available graphics memory 2299 MB
Dedicated graphics memory 512 MB
Dedicated system memory 0 MB
Shared system memory 1787 MB
Display adapter driver version 8.650.0.0
Primary monitor resolution 1152x864
DirectX version DirectX 10Windows 7 U. - 32 Bit vs 64 Bit Performance scores: wondering why Memory test is so much lower on same computer 32Bit vs. 64Bit
Windows 7 Ultimate 32Bit
Component Details
Score
Processor Intel(R) Xeon(R) CPU E5462 @ 2.80GHz 7.7
Memory (RAM)
4.00 GB 5.5
Graphics ATI Radeon HD 4800 Series 6.8
Gaming 1275 MB Total available graphics memory 6.8
Primary hard disk 31GB Free (69GB Total) 5.7
System
Manufacturer Apple Inc.
Model MacPro3,1
Total amount of system memory 4.00 GB RAM
System type 32-bit operating system
Number of processor cores 8
64-bit capable Yes
Graphics
Display adapter type ATI Radeon HD 4800 Series
Total available graphics memory 1275 MB
Dedicated graphics memory 512 MB
Dedicated system memory 0 MB
Shared system memory 763 MB
Display adapter driver version 8.632.1.2000
Primary monitor resolution 1152x864
DirectX version DirectX 10
Windows 7 Ultimate 64Bit
Component Details
Score
Processor Intel(R) Xeon(R) CPU E5462 @ 2.80GHz 7.7
Memory (RAM) 4.00 GB
7.7
Graphics ATI Radeon HD 4800 Series
6.8
Gaming graphics 2299 MB Total available graphics memory 6.8
Primary hard disk 37GB Free (59GB Total) 5.7
System
Manufacturer Apple Inc.
Model MacPro3,1
Total amount of system memory 4.00 GB RAM
System type 64-bit operating system
Number of processor cores 8
Graphics
Display adapter type ATI Radeon HD 4800 Series
Total available graphics memory 2299 MB
Dedicated graphics memory 512 MB
Dedicated system memory 0 MB
Shared system memory 1787 MB
Display adapter driver version 8.650.0.0
Primary monitor resolution 1152x864
DirectX version DirectX 10 -
If a song is in multiple playlists (example 3 playlists) on your iPod, does it take up three times the amount of memory? Or does it store it once and refer to that same location for different playlists?
Thanks everybody!
E Machines Windows XP ProIt will only copy the song once.
The playlists work like they do in iTunes, and they all refer back to the main file. However, I find if you manually manage the files, and then change the names in iTunes after putting them on the iPod the first time, they can sometimes duplicate.
If you have it set to automatic update, though, you'll be fine. -
Performance Issues / Concerns
I have to use 213 tables in the universe designer. The database schema is oracle. What kind of issues/concerns should I consider before designing the universe. I appreciate your help.
Hi ,
The first thing you should consider is that do you really need this many tables in Your Universe ??
Follow the foolowing steps Before designining :
1) Have a clear scope define for Universe , i.e You are designing Universe for Sales Or Marketing or Human Resource etc .
2) Once you know the Scope and Target Audience and purpose is clear then segregate the tables based on your scope i.e define the scope of tables inside your schema
3) Clearly have all the reorting requiremnet in place
Then go for normal design procedure
Regards
Swapnil -
CS3 Preferences/Performance not recognizing full amount of memory
I have increased RAM in a Windows XP Pro, 32bit PC, from 2 GB, to 4 GB. Windows recognizes that I have 3,141,872 kb of physical memory available. Yet, Photoshop CS3 only shows available RAM of 1705 MB (Edit-Preferences-Performance-Memory Usage).
I am preparing to do Boot.ini modifications to the /3GB, and /userva switches to increase RAM available to PS. I assumed that PS would show an increase in available RAM, even before modifying the switches.
I've been assured by a knowledgeable Windows/PS user that these mods are straight forward. Yet, when I told him that PS was not recognizing the new Ram, while Windows XP was recognizing it, he suggested I post this on the Adobe PS forum.
Hence, my thread. In sum - why doesn't PS recognize the new amount of RAM, or how badly have I misunderstood the concept? (It's probably operator error.)CS3 will recognize ~1GB more of your RAM after you edit your boot.ini file to invoke the /3GB switch, not before. Without going into all the reasons why this is so, just bear in mind that the /3GB switch is not risk-free; a minority of computers will not boot at all (in normal, safe or any other mode) once it's enabled. Make sure you have a viable exit/recovery strategy in case that happens to you. Also remember that there is no free lunch even if the switch works without a seeming hitch. In order to give that RAM to Photoshop, you have to take it from Windows. The UserVA that you mentioned helps to mitigate the effects of that theft somewhat. Know also that you can edit the boot.ini to give you the option of running with or without the switch enabled. This is accomplished by means of a menu during boot up. It's also a legitimate recovery option in the event your computer and the switch can't coexist.
I use the switch, but ONLY when I expect to do a lot of heavy lifting in Photoshop. I shut down as many superfluous background apps as I can, including anti-virus and my firewall. In other words, I don't push my luck by taxing the OS when running with the switch enabled. I would specifically not recommend using it for an everyday computing environment.
I suggest you read a little more before you make the move.
EDIT: Here's my boot.ini. DO NOT USE IT unless your disk and partition assignments are the same. I am posting this so you can see how to give yourself the option of selecting a config with or without the switch at boot time.
[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Baseline" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional 3GB" /3GB /Userva=2900 /noexecute=optin /fastdetect -
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? -
Performance issue: Java and XSLT
I have a performance issue concerning Java and XSLT: my goal is to transform an xml file (source.xml)
by using a given xsl file (transformation.xsl). As result I would like to get a String object, in which the result
of the transformation (html-code) is in, so that I can display it in a browser. The problem is the long time
it takes for the code below to run through.
xml = new File("C:\\source.xml");
xmlSource = new StreamSource(xml);
xslt = new File("C:\\transformation.xsl");
StreamSource xsltSource = new StreamSource(xslt);
TransformerFactory transFact = TransformerFactory.newInstance();
trans = transFact.newTransformer(xsltSource);
StringWriter stringWriter = new StringWriter();
StreamResult streamResult = new StreamResult(stringWriter);
trans.transform(xmlSource, streamResult);
String output = stringWriter.toString();
stringWriter.close();
Before, I made the same transformation in an xml development environment, named Cooktop
(see http://xmlcooktop.com/). The transformation took about 2 seconds. With the code above in Java it
takes about 20 seconds.
Is there a way to make the transformation in Java faster?
Thanks in advance,
Marcello
Oldenburg, Germany
[email protected]I haven't tried it but the if you can use java 6, you could try the new stax (StAX) with the XML stream loading..
Take a look at:
http://javaboutique.internet.com/tutorials/staxxsl/
Then, you could cache the xslt in templates:
---8<---
templates = transformerFactory.newTemplates( xsltSource );
Transformer transformer = templates.newTransformer();
(here you could probobly also cache the Transformer object but I think it's it's not thread safe so it's a little tricker..)
StreamResult result = new StreamResult( System.out );
transformer.transform(xmlSource, result);
And, don't transform your result to a string, use a Stream or something, then the transformer could start pumping out html while working, and if you get a out of memory error it looks like you have a pretty big xml file...
If you use jsp you could try the build in jsp taglib for xml which I think is rather good and they have support for varReader which implements the StreamSource iirc.
/perty -
Re: (forte-users) RE: Memory Leak
Tim,
Are you compiling the client?
We experienced what sounds like it could be the same scenario...that even if
we weren't doing anything...that memory was still being eaten up...(we
created a simple window that repeatedly polled the OS for the memory usage)...
As soon as we compiled the client....presto...no more memory leaks. We never
did find the exact cause of the leaks...
Go figure!
Here to help,
Stephen :-{)
Stephen Brand
Novalis Corporation
[email protected]
(603)559-9233The 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? -
Crash when starting a performanc​e/memory profile
I'm having a catastrophic crash when I hit the 'Start' button in the Profile -> Performance and Memory... dialog. There is no error message whatsoever, and when I restart Labview, it only asks me about files to recover, it doesn't tell me where it crashed (i.e. somefile.cpp line ###). Well, it might have told me once, but now it doesn't, so unless there is a log of these things somewhere, I can't say much more.
I'm using Labview 2009, and I'm having the exact same issue on at least 2 machines which are fairly different (Win XP 32 bit vs Win7 64 bit (with Labview 32 bit)).
The application is pretty large (~1500 vi's), so it's kind of hard to tell what is making it crash.
The problem can be replicated in different ways:
1) Load main VI which loads all the VI's in memory
2) Start Performance/Memory profile *crash*
1) Load VI
2) Start VI (runs in a loop)
3) Start Performance/Memory profile while it runs *crash*
1) Start Performance/Memory profile
2) Some NI VI's show up in the list with '0' time everywhere
3) Load VI
4) Execute VI
5) Stop execution of VI *crash*
Any clues? Is there a log somewhere that could help me/you find the issue?
I could spend all day trying to load different parts of the project and look for problems, but I have no idea what to look for.
Last Friday I had successfully profiled what I wanted to, then I had another crash... Oh I remember now... I did a 'Search' in my project, looked for a particular string, and it crashed after a while in the middle of the search. Since then I was unable to use the profile tool. Could it be some data corruption? We use SourceSafe... so I wouldn't be surprised if it gave me a corrupted file If so, how could I find it?
Thank youHey Samapico,
I actually found an incident like yours involving the performance and memory tool crashing when used for specific VIs which were very large. How big (in terms of filesize) is your VI?
R&D found this issue in LV 2009 and fixed it in 2010 under Corrective Action Request 215410.
Is there any way you could try and test your issue out on a machine with LV 2010?
<Joel Khan | Applications Engineering | National Instruments | Rice University BSEE>
Maybe you are looking for
-
Leopard graphics & effects.
hello. i am a newbie, just purchased today the 24 inch model of imac with 2.4 Ghz and 256 MB Ati. i busted my head trying to find a way to activate/enable those cool graphics effects that leopard has but no succes, i dont know where to navigate and w
-
User creation error after installing Local portal
Hi Everyone, I am presently running ECC 600, with Netweaver nw04s and J2E engine. I have installed MSSQL and then the J2E engine. I have also activated the SAP* superuser account. I would like to create users now. When i logon with SAP*, a register l
-
HT1331 Why does this article still not indicate that Airport Disk Utility no longer exists?
ADU stopped existing after 10.6. I see this article was updated in May; that means two revisions of OSX which don't contain this utility have been announced or released at that time yet it's still wrong. It's near the top of google rankings, making t
-
IPhone Case Recommendations?
I've waited to buy a case for my iPhone, simply because I'm unsure of what to get. I'd like something that won't scratch the phone, is obviously protective, yet isn't overly bulky. Can anyone offer suggestions? What are you using n your iPhone? What
-
Could not load rental video message
I Downloaded a rental movie from the iTunes Store on my iPad mini after the download the movie appeared in the videos app and I started watching almost immediately after the download was completed. After about 20mins the movie stopped playing and I g