Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

PP-578 - Getting issue details... STATUS


Overview:

Ticket PP-228 - Getting issue details... STATUS was addressed by removing the code to restart the Python interpreter. This change introduced a significant memory leak when queuejob, modifyjob, and movejob hooks are present. This code will be restored in such a way that the administrator has more control and visibility over Python restarts. The change control is being defined as experimental because the long term plan is to address the memory leak in the pbs Python extension itself. Once completed, all of these interfaces become unnecessary.

Interfaces:

  • Interface 1: PBS_PYTHON_RESTART_MAX_HOOKS
    • Visibility: Public
    • Change Control: Experimental
    • Synopsis: Add configuration variable PBS_PYTHON_RESTART_MAX_HOOKS
    • Detail: In the past there were macros defined to control how often the Python interpreter was restarted in the server. Allow the administrator to override the hook count limit. Default is 100, as it was previously. This variable may be set in PBS_CONF_FILE or in the environment prior to starting the server.
  • Interface 2: PBS_PYTHON_RESTART_MAX_OBJECTS
    • Visibility: Public
    • Change Control: Experimental
    • Synopsis: Add configuration variable PBS_PYTHON_RESTART_MAX_OBJECTS
    • Detail: In the past there were macros defined to control how often the Python interpreter was restarted in the server. Allow the administrator to override the object count limit. Default is 1000, as it was previously. This variable may be set in PBS_CONF_FILE or in the environment prior to starting the server.
  • Interface 3: PBS_PYTHON_RESTART_MIN_INTERVAL
    • Visibility: Public
    • Change Control: Experimental
    • Synopsis: Add configuration variable PBS_PYTHON_RESTART_MIN_INTERVAL
    • Detail: This is a new configuration variable that controls the minimum interval between Python restarts, expressed in seconds. Default behavior is to avoid restarting the server more than once every 30 seconds. Administrators may increase this value at the cost of additional server memory usage. This variable may be set in PBS_CONF_FILE or in the environment prior to starting the server.
  • Interface 4: Log message
    • Visibility: Public
    • Change Control: Experimental
    • Synopsis: PBS_PYTHON_RESTART_MAX_HOOKS: 100
    • Detail: A DEBUG3 message is being added to log the value of PBS_PYTHON_RESTART_MAX_HOOKS the first time that _pbs_python_event_set() is called. The message will be printed to the server log.
  • Interface 5: Log message
    • Visibility: Public
    • Change Control: Experimental
    • Synopsis: PBS_PYTHON_RESTART_MAX_OBJECTS: 1000
    • Detail: A DEBUG3 message is being added to log the value of PBS_PYTHON_RESTART_MAX_OBJECTS the first time that _pbs_python_event_set() is called. The message will be printed to the server log.
  • Interface 6: Log message
    • Visibility: Public
    • Change Control: Experimental
    • Synopsis: PBS_PYTHON_RESTART_MIN_INTERVAL: 30
    • Detail: A DEBUG3 message is being added to log the value of PBS_PYTHON_RESTART_MAX_HOOKS the first time that _pbs_python_event_set() is called. The message will be printed to the server log.
  • Interface 7: Log message
    • Visibility: Public
    • Change Control: Experimental
    • Synopsis: Restarting Python interpreter to reduce mem usage
    • Detail: A DEBUG2 message is being restored to indicate the Python interpreter is being restarted. The message will be printed to the server log.
  • Interface 8: Log message
    • Visibility: Public
    • Change Control: Experimental
    • Synopsis: Current memory usage: VmSize=388200kB, VmRSS=98824kB
    • Detail: A DEBUG2 message is being added to log the contents of /proc/self/statm prior to server restart. The message will be printed to the server log.



Site Map

Developer Guide Pages


  • No labels