Real machine: one server with an agent. If it's down, the job waits in PEND_MACH.
Virtual machine: insert_machine: NAME / type: v / machine: host1 / machine: host2. AutoSys picks a member per run.
One member down: the job runs on another member.
Every member must be identical (paths, mounts, users, software), or the job fails only when it lands on the odd host.
See where a run went: autorep -J JOB -d. See a pool: autorep -M NAME -d.
✦ Definition~90s read
What is AutoSys Real vs Virtual Machines?
In AutoSys the machine: attribute in a job's JIL says where it runs. A real machine is a single server with an agent. A virtual machine is a named group of real machines (insert_machine with type: v); for each run AutoSys picks one member based on available load, so the job can land on a different host each time.
★
A real machine is a named cashier: you always queue at that till.
Plain-English First
A real machine is a named cashier: you always queue at that till. A virtual machine is "next available cashier": you go to whichever till is free. That's great when one till closes, but if one till takes cash only, some customers get turned away at random.
A job that fails one night in three, never twice on the same server, is usually not a flaky script. It's a job on a virtual machine where one member is different. This guide covers real and virtual machines, how AutoSys picks a host, and how to track down the odd one.
Real Machines
A real machine is a server running an agent, defined once with insert_machine. A job with machine: set to it always runs there. If the machine is unavailable the job waits in PEND_MACH.
A virtual machine is type v with real machines listed as members. A job that names it is sent to one member per run, chosen by available load. If a member is down, the others take the work.
Machines can have max_load and jobs job_load. A job waits in QUE_WAIT when no member has enough free load.
🎯 Key Takeaway
Virtual machine = a pool; each run picks a member.
Keep Members Identical
A job on a pool can run on any member, so every member needs the same mounts, paths, users and software. One different host causes failures that look random.
compare.shBASH
1
2
3
for h in finbatch01 finbatch02 finbatch03; do
echo "== $h"; ssh $h 'df -h /data; id batchuser'
done
🎯 Key Takeaway
One odd host = intermittent failures.
Where Did It Run?
autorep -d shows the run details, including the machine a run went to. autorep -M shows machine definitions and status.
where.shBASH
1
2
autorep -J FIN_EXTRACT -d
autorep -M fin_pool -d
🎯 Key Takeaway
Check the host on failed runs.
● Production incidentPOST-MORTEMseverity: high
The Job That Failed One Night in Three
Symptom
Failures were random; reruns succeeded. The script and input files hadn't changed.
Assumption
The team blamed timing: the input file arriving late.
Root cause
The job ran on fin_pool, a virtual machine of three hosts. finbatch03, added recently, had no /data mount. Whenever AutoSys picked it, the script failed.
Fix
Added the mount to finbatch03, and a check script that compares mounts and users across pool members.
Key lesson
Random failures on a pool point to one host.
autorep -d shows which host each run used.
Pool members must be identical.
Production debug guideReal or virtual, where did it run?3 entries
Symptom · 01
Job in PEND_MACH
→
Fix
Real machine down or its agent stopped. autoping -m MACHINE.
Symptom · 02
Fails on some runs only
→
Fix
autorep -J JOB -d: compare the host on failed and successful runs.
Symptom · 03
Job in QUE_WAIT
→
Fix
The machine has no free load for the job's job_load. Check max_load and running jobs.
⚙ Quick Reference
4 commands from this guide
File
Command / Code
Purpose
real.jil
insert_machine: finbatch01
Real Machines
virtual.jil
insert_machine: fin_pool
Virtual Machines
compare.sh
for h in finbatch01 finbatch02 finbatch03; do
Keep Members Identical
where.sh
autorep -J FIN_EXTRACT -d
Where Did It Run?
Key takeaways
1
machine
says where a job runs.
2
Real machine down = PEND_MACH.
3
Virtual machine = pool, type v.
4
Members must be identical.
5
autorep -J JOB -d shows the host per run.
Common mistakes to avoid
2 patterns
×
Adding a host to a pool without full setup
Symptom
Random failures.
Fix
Build members from the same checklist; verify before adding.
×
Using a real machine for critical jobs
Symptom
PEND_MACH when that host is down.
Fix
Use a virtual machine with at least two members.
INTERVIEW PREP · PRACTICE MODE
Interview Questions on This Topic
Q01SENIOR
Difference between a real and a virtual machine in AutoSys?
Q02SENIOR
A job on a virtual machine fails intermittently. Where do you look?
Q01 of 02SENIOR
Difference between a real and a virtual machine in AutoSys?
ANSWER
A real machine is one server with an agent. A virtual machine (type v) groups real machines; AutoSys picks a member per run based on load.
Q02 of 02SENIOR
A job on a virtual machine fails intermittently. Where do you look?
ANSWER
Compare the host on failed and successful runs with autorep -d; one member is usually configured differently.
01
Difference between a real and a virtual machine in AutoSys?
SENIOR
02
A job on a virtual machine fails intermittently. Where do you look?
SENIOR
FAQ · 2 QUESTIONS
Frequently Asked Questions
01
What should machine be in a JIL?
The name of a real machine or a virtual machine defined with insert_machine. Use a virtual machine for resilience.
Was this helpful?
02
How do I create a virtual machine in AutoSys?
insert_machine: NAME, type: v, then one machine: line per real member.