Linux 操作 系统: Acegene IT Co. Ltd. 1

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 23

Linux 操作 系统

系统优化

周炯
上海艾基信 息技术有限 公司

Acegene IT Co. Ltd. 1


内容提 要
• Performance concepts and
measurement tools:
– CPU
– Memory
– Disk I/O
– Network
– Process
– Profiling Kernel & Applications

Acegene IT Co. Ltd. 2


Measurement Tools
• Linux has measurement tools
common to
UNIX platforms:
– System Activity Reporter: sar
• Historical database
– Virtual Memory Statistics: vmstat,
free
– I/O Statistics: iostat
– Top Resource Consumers: top -c
– X-based tools: xosview, gnome-
system-monitor, ksysguard, gkrellm
CPU Measurements
• Identify the CPU statistics and
interpret them:
– Idle time: %idle
– Executing user code: %user
– Executing system code: %system
– Load average: runq-sz
• Start with cat /proc/cpuinfo
– Total CPU count/speed
• There are several ways to see the
same information, for example: CPU
activity
CPU Activity - mpstat
• What is my CPU doing?: mpstat

# mpstat -P <cpu> <interval> <count>

# mpstat -P ALL 1 1
Linux 2.4.21-15.EL (raclinux1) 08/04/2004
CPU %user %nice %system %idle intr/s
all 19.50 0.00 31.50 49.00 111.00
0 27.00 0.00 42.00 31.00 111.00
1 12.00 0.00 21.00 67.00 111.00
CPU Activity - sar
• What is my CPU doing?: sar

# sar -u <interval> <count>

# sar -u 2 3
Linux 2.4.21-15.EL (raclinux1) 08/04/2004
02:02:34 AM CPU %user %nice %system %idle
02:02:36 AM all 1.14 0.00 1.71 97.14
02:02:38 AM all 2.62 0.00 3.66 93.72
02:02:40 AM all 0.54 0.00 3.78 95.68
Average: all 1.45 0.00 3.09 95.46
CPU Activity - iostat
• What is my CPU doing?: iostat

# iostat -c <interval> <count>

# iostat -c 2 3
Linux 2.4.21-15.EL (raclinux1) 08/04/2004
avg-cpu: %user %nice %sys %idle
5.73 0.00 17.16 77.11
avg-cpu: %user %nice %sys %idle
4.62 0.00 27.18 68.21
avg-cpu: %user %nice %sys %idle
9.55 0.00 35.96 54.49
Linux Virtual Memory
• Each process is assigned a
contiguous address space in virtual
memory that maps process memory
allocations to the real memory
– User address space is a contiguous set
of pages and is limited to 4GB per
process
– Physical Address Extension (PAE), allows
access to more than 4GB of physical
memory
• RHat: ‘enterprise’ kernel (implied SMP)
• SuSE: 64GB kernel (implied SMP)
Swap
Swapped-in pages

Physical
memory (RAM)

Swapped-out pages

Virtual
memory Swap space (disk)
Measuring Swap
• How much is available/used?
– swapon -s (cat /proc/swaps)
– vmstat
• so: Amount of memory KB/s SWAP OUT to
disk
• si: Amount of memory KB/s SWAP IN from
disk
• swapd: Amount of virtual memory KB
reserved
• Create/Add more?
– # mkswap /dev/sdc3
– fstab: /dev/sdc3 swap swap pri=42
Memory Usage
Buffer cache
Dynamically adjusted

Page cache

Process memory

Paged Process memory

Process memory

Paged/locked Shared memory

Kernel modules
Not paged
Kernel (not paged)
Measuring Memory Usage
• Measure memory utilization and
paging. Identify the significant

Page out
Page in
memory statistics.
– cat /proc/meminfo (units KB)
• MemTotal: Total physical memory
• MemFree: Total free memory
• LowFree: Free memory below 1GB physical
• Buffers: Linux Buffer Cache
• Cached: Linux Page Cache
• BigFree: Free bigpages memory
No Free Memory?
• free command reports a very low
number, should I be worried
– It’s OK if Linux buffer or page cache are
big
– Look in -/+ buffer/cache row of free for
projected free memory
– Very useful stat
Memory - sar
• -B paging statistics
• -R memory statistics
• -W swapping statistics

#sar -B <frequency> <count>

#sar -R <frequency> <count>


Measuring Disk I/O
• You should monitor the I/O across all
devices and look for ‘slow’ devices
using:
– sar, iostat, vmstat
– Archive collected statistics for
comparison

Acegene IT Co. Ltd. 15


Network Traffic
• Check the following sources of
network traffic:
– Oracle SQL*Net Servicing SQL
connections
– Interconnect in RAC environment
– Network file system
– Samba
– HTTP server
• Start with sar -n DEV
• iptraf also very useful
Acegene IT Co. Ltd. 16
sar Flags
• -f read from sar historical file
– /var/log/sa/…
• -s -e start/end times
– -s hh:mm:ss
• -r memory/swap utilization
• -c process creation activity
• -w context switching activity
Process Specific
• Specific process is a suspect:
– System call trace:
• strace –p <pid>
– Library call trace:
• ltrace –p <pid>
– Detailed process statistics:
• ps –o <options>
• Try: ps -e -o pid,ppid,pcpu,rss,vsz,pri,wchan,cmd
• Who has my file open?
– lsof [-p <pid]
• For Process Tree, use pstree –p
• Not seeing a process, it’s probably a thread, try:
ps -efm

Acegene IT Co. Ltd. 18


What Does the Kernel Do?
• It’s possible to profile the kernel and
identify where it’s spending time:
– Boot with “profile=2 nmi_watchdog=1”
• Either in Lilo or Grub or add manually at
boottime
– Use readprofile -m <map>
– Start with readprofile -r (to reset
counters)
– Very easy to use, but useful only if you
see high system time.
• To profile user applications use
oprofile
– http://oprofile.sourceforge.net/
Acegene IT Co. Ltd. 19
System Wide
• RDA (Remote Diagnostic Agent)
– http://set.oraclecorp.com/tools/dca/inde
x.html
• Lshw (Hardware Lister)
– http://freshmeat.net/projects/lshw/

Acegene IT Co. Ltd. 20


Summary: Linux Monitoring Tools
• Overall tools
– sar , vmstat
• CPU
– /proc/cpuinfo , mpstat , top
• Memory
– /proc/meminfo , /proc/slabinfo
• Disk I/O
– iostat, sar
• Network
– iptraf, netstat, mii-tool
• Individual process debugging
– strace , ltrace, lsof

Acegene IT Co. Ltd. 21


Q&
A
QUESTIONS
ANSWERS

Acegene IT Co. Ltd.


练习
• 执行下列命令
– sar , vmstat
– /proc/cpuinfo , mpstat , top
– /proc/meminfo , /proc/slabinfo
– iostat, sar
– iptraf, netstat, mii-tool
– strace , ltrace, lsof

Acegene IT Co. Ltd. 23

You might also like