Home › DevOps › AutoSys Real vs Virtual Machines: What machine: Means in JIL
Intermediate 3 min · November 08, 2026

AutoSys Real vs Virtual Machines: What machine: Means in JIL

An AutoSys real machine is one server with an agent; a virtual machine (type: v) is a pool of real machines and AutoSys picks one for each run.

N
Naren Founder & Principal Engineer

20+ years shipping production infrastructure and CI/CD at scale. Notes here come from systems that actually shipped.

Follow
✓ Production
production tested
November 09, 2026
last updated
2,128
articles · all by Naren
Before you start⏱ 6 min
  • ✓AutoSys JIL basics
 ● Production Incident 🔎 Debug Guide
⚡Quick Answer
  • machine: in a job = where the job is sent.
  • 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.

real.jilJIL
1
2
3
4
5
insert_machine: finbatch01

insert_job: FIN_EXTRACT   job_type: CMD
machine: finbatch01
command: /apps/fin/extract.sh
🎯 Key Takeaway
Real machine = one server, every time.

Virtual Machines

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.

virtual.jilJIL
1
2
3
4
5
6
7
8
insert_machine: fin_pool
type: v
machine: finbatch01
machine: finbatch02
machine: finbatch03

update_job: FIN_EXTRACT
machine: fin_pool
💡Load
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
FileCommand / CodePurpose
real.jilinsert_machine: finbatch01Real Machines
virtual.jilinsert_machine: fin_poolVirtual Machines
compare.shfor h in finbatch01 finbatch02 finbatch03; doKeep Members Identical
where.shautorep -J FIN_EXTRACT -dWhere 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.
FAQ · 2 QUESTIONS

Frequently Asked Questions

01
What should machine be in a JIL?
02
How do I create a virtual machine in AutoSys?
COMPLETE GUIDE
The Complete AutoSys Workload Automation Guide for Engineers →

JIL syntax, sendevent, autorep, box jobs, file watchers, scheduling, HA, security, cloud workload automation, and 22 interview questions — the definitive AutoSys reference for production engineers.

N
Naren Founder & Principal Engineer

20+ years shipping production infrastructure and CI/CD at scale. Notes here come from systems that actually shipped.

Follow
✓ Verified
production tested
November 09, 2026
last updated
2,128
articles · all by Naren
🔥

That's AutoSys. Mark it forged?

3 min read · try the examples if you haven't

←
Previous
AutoSys Start and Stop Order
41 / 49 · AutoSys
Next
AutoSys Condition on Two Boxes (Lookback)
→