![]() |
|||
|
How Do I Ensure My Job
Has Enough Memory to Run? 04-Sep-2008 Introduction With all nodes on the cluster being shared among all users, it is possible that a single process owned by a single user might be consuming all of the memory on the node. If this happens, new jobs assigned to that node will likely not have enough memory to run. If your job is memory intensive, it would be best to request a node with enough available memory to run your job. Determining Memory Requirements In order to request a node with an appropriate amount of memory available, it might first be necessary to determine how much memory your job will actually need if this is not known ahead of time. To do this, it is recommended that you submit a test job and request exclusive access to a node. This means that only your job will be running on the node and will not interfere with or be disrupted by other jobs. Exclusive access will provide the best opportunity for you to measure the amount of memory that your job can consume without interference from other jobs. There are a variety of methods that can be used to determine memory usage of a job. Two relatively straightforward ways to do this is as follows: Enable email notification You can enable email notification in your test job so that it will report, among other things, the memory utilization of your job. When your job exits, the email report that you will receive will look similar to the following:
In this example, the resources_used.mem represents the maximum amount of physical memory used by all processes in the job. This number can be inaccurate because it is polled from the operating system at regular intervals. It does not represent the memory usage at an instant in time. Fluctuations during the polling interval will be missed. To ensure the best possible accuracy you must request exclusive access to the node when your test job runs so that the job will have the maximum amount of memory available to it. Use qstat on a running job It is also possible to see the above values while a job is running with the following command:
As with the email report, fluctuations in memory utilization will be missed if it occurs during the polling interval. Requesting A Specific Amount of Memory Once you have determined how much memory your job requires, you should request access to a node with enough memory available to satisfy the job for all future jobs of its type. There is a PBS option that can be used to find a node with a specific amount of memory available:
|
|||
|