40 S/390 PID: ThinkPad Enabled for S/390
The key principle is that the Linux system should not be forced to page when running S/390
emulation. Linux might perform considerable paging when getting started, but once a S/390
instance is started and the system working set is established, the average Linux paging rate
should be close to zero. (S/390 operating systems running in the emulated S/390 might have
much higher paging rates; this is not the point at issue here.) This almost always means that
the ThinkPad real memory must be considerably larger than the emulated real memory of all
the S/390 instances that are active at any one time.
In principle, the Linux memory needed to emulate a S/390 is “just” virtual memory to Linux
and might exist in a much smaller real memory used by Linux. In practice, this does not work
well. Your ThinkPad should have enough memory so that all the S/390 requirements
(memsize + essize + cachesize*11 + DASD cache) fit in your real ThinkPad memory, without
requiring Linux paging. If you assume 100 MB for Linux, FLEX-ES programs, TCP/IP
operation, and so forth, then the 512 MB ThinkPad in our examples might be used as follows:
Rough guess for Linux, FLEX-ES, etc 100 MB
S/390 memsize 256 MB
S/390 essize 64 MB
FLEX-ES instruction cache * 11 22 MB
default DASD cache for 10 volumes (approx) 10 MB
--------
462 MB
This leaves a reasonable margin in a 512 MB system. The 100 MB for Linux is just a guess.
The working sets (as seen by Linux) of the emulated S/390 memory (central and expanded),
the FLEX-ES instruction cache, and most of the DASD cache will normally be their full sizes.
The working set of Linux itself and its many system processes are much harder to determine.
5.4.1 The vmstat command
The traditional UNIX command for monitoring swapping
3
rates, sar, is not available in base
Linux distributions. The vmstat command can be used instead. For example, the command
vmstat 10 2 means to run vmstat with 10 seconds between reports and quit after 2 reports.
# vmstat 10 2
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
0 0 0 0 329156 28768 70156 0 0 4 1 105 196 1 0 99
0 0 0 0 329156 28768 70156 0 0 0 0 105 196 1 0 99
You should refer to your Linux documentation or man listings for more complete information
about vmstat. Very briefly, the key fields are documented as:
Procs
– r: number of processes waiting for CPU time
– b: number of processes in uninterruptable sleep
– w: number of processes swapped out but otherwise runnable
Memory
– swpd: the amount of virtual memory used (in the swap file) (kB)
– free: the amount of idle memory (kB)
– buff: the amount of memory used as buffers (kB)
Swap
– si: amount of memory swapped in from disk (kB/s)
– so: amount of memory swapped out to disk (kB/s)
IO
– bi: blocks sent received from a block device (blocks/s)
3
In S/390 terms, we would say paging rates. In older contexts, swapping has a different meaning than paging. In
modern Linux systems, swapping appears to have exactly the same meaning as paging.