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 swapping3 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)

3In 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.

40S/390 PID: ThinkPad Enabled for S/390

Page 50
Image 50
IBM s/390 manual Vmstat command