- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- "Compute Que"
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-12-2007 09:11 AM
04-12-2007 09:11 AM
TIA
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-12-2007 09:55 AM
04-12-2007 09:55 AM
Re: "Compute Que"
$ SHOW SYSTEM/STATE=COM
If you want just the count:
$PIPE SHOW SYSTEM/NOHEAD/STATE=COM | -
SEARCH SYS$PIPE: ""/NOOUT/LOG
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-12-2007 10:41 AM
04-12-2007 10:41 AM
Solution>Is there a way to obtain this number
>outside of running MONITOR
Of course! SMOP - you can write some kernel mode code to dig down into the scheduler data structures and count them yourself ;-)
Ah, but you want an *EASY* way?
Is there a problem running T4?
If you have a recent enough version of OpenVMS, you can use the $GETRMI system service. Use item RMI$_COM. I've attached a simple MACRO32 program which will return 2*COM+1 as $STATUS (so that status is seen as successful). To use it:
$ RUN GETCOM
$ COM=$STATUS/2
Notes...
1) there is no $GETRMI_S macro :-(
2) you MUST $SYNCH the call
3) If you're going to use it in a larger context, make sure you allocate an event flag correctly.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-12-2007 12:22 PM
04-12-2007 12:22 PM
Re: "Compute Que"
As for T4, you could ping Steve L. over at trendsthatmatter, and see if he has anything for whatever performance details you're after.
Stephen Hoffman
HoffmanLabs LLC
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-12-2007 02:14 PM
04-12-2007 02:14 PM
Re: "Compute Que"
The trouble with anything that involves scanning processes for measuring the compute queue is that it can give wildly incorrect results because it requires significant processing to derive an answer. Further, the state of the system can change significantly during the time it takes to complete the scan. Results can be wrong in either direction (especially using $GETJPI as it may CAUSE the target process to go into COM state).
Heisenberg principles apply here - observing the system WILL change it. Consider a single CPU system with a single computable process. That process will be in CUR state and the CPU queue will be 0. Now introduce the monitoring process - while it's sampling, the monitor process must be CUR, and the other process will therefore be COM, so the compute queue will be 1. We might incorrectly conclude that the system needs another CPU because we will never see a COM queue of 0.
$GETRMI is collecting the actual length of the COM queue at the sample time, without having to count or gather any information from other processes. It may cause processes transitions CUR->COM or COM->CUR, but it's unlikely to cause dormant processes to become computable, or create new processes (like using PIPE).
In practice you should probably use MAX(0,CUR-1) as your sample value.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-15-2007 05:46 AM
04-15-2007 05:46 AM
Re: "Compute Que"
I've used exe$getspi (which has been round for rather longer than sys$getrmi), and that (also) is less desirable. If you want to go after that route, look for the I_SPI.* tool on the Freeware; you'll need the source listings if you're going after much of anything other than the modes values the example retrieves.
At the typical frequency of a typical MONITOR recording pass, a process scan or three will be lost in the noise of typical system activity. And it'll be close enough for most uses.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-15-2007 09:58 PM
04-15-2007 09:58 PM
Re: "Compute Que"
E.g. do
monitor states /sum/nodispl/end=hh:mm
and parse the output.
Wim