- Tương tự như ví dụ trạm soát vé, “Load Average” của CPU được định nghĩa là số lượng process cần tài nguyên tính toán của CPU tại thời điểm nhất định. Giả sử tải trung bình của máy tính bạn hiện tại là 3.2, điều đó có nghĩa là tại thời điểm đó đang có trung bình 3.2 processes cần CPU xử lý. . Tại thời điểm process cần CPU, nếu CPU đang rảnh process sẽ được OS cho chạy trên CPU rảnh
top - 09:51:58 up 1 day, 18:50, 4 users, load average: 0.01, 0.03, 0.05
Tasks: 175 total, 1 running, 174 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.5 sy, 0.0 ni, 98.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 5946452 total, 3127200 free, 1016276 used, 1802976 buff/cache
KiB Swap: 3145724 total, 3145724 free, 0 used. 4553812 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
47473 root 20 0 159208 6368 4756 S 0.7 0.1 0:00.76 sshd
48579 root 20 0 113180 1580 1328 S 0.7 0.0 0:00.03 bash
36829 ceph 20 0 961624 168340 20496 S 0.3 2.8 5:46.03 ceph-osd
1 root 20 0 128096 6632 4012 S 0.0 0.1 0:13.57 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.05 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:02.51 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root rt 0 0 0 0 S 0.0 0.0 0:00.20 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:11.46 rcu_sched
-
Dòng 1 : hiển thị thời gian uptime, số session đang login trên hệ thống , và chỉ số load avg trung bình trong 1, 5, 15 phút gần đây
-
Dòng 2 : hiển thị số tiến tình đang chạy trên hệ thống ( quản lý bởi task struct ), số tiến trình đang chạy có sử dụng IO , số tiến trình đang chờ request, số tiến trình bị stuck, số tiến trình ở trạng thái zombie ( process mồ côi)
-
Dòng 3 : Hiển thị chỉ số trung bình của các processor, nếu muốn hiển thị riêng lẻ bấm số
1
- % CPU của tất cả người dùng
- % CPU của kernel đang sử dụng
- % CPU được sử dụng cho quá trình update
- % CPU đang rảnh rỗi hoặc được gắn vào process không có IO
- % CPU đang trong trạng thái idle ở thời điểm phát sinh I/O request (wa%)
- % CPU được sử dụng để giải quyeetrs các xung đột phần cứng
- % CPU được sử dụng để giải quyết các xung đột phần mềm
- % CPU được sử dụng để share cho cấc máy ảo
-
Dòng 4,5 hiển thị các thông số ram vật lý vào ram ảo : tổng cộng số byte, số byte đang free, số byte đang sử dụng
- vmstat reports information about processes, memory, paging, block IO, traps, disks and cpu activity.
[root@gateway ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 5049020 2108 630184 0 0 0 0 16 25 0 0 100 0 0
Trong đó :
- Process ( proc )
- r : số process đang đợi của runtime
- b : số process không nhận và xử lý các signal ngay lập tức
- Memory :
- swpd : số lượng ram swap đã được sử dụng
- free : số ram đang ở thời gian rảnh rỗi
- buff : số ram được sử dụng cho buffer
- cache : số ram được sử dụng cho cache
- Swap :
- si :
- so
- IO :
- bi : block nhận từ block device ( block /s )
- bo : block gửi tới các block device ( block/s )
- CPU : cpu time
- us : thời gian dành cho user namespace
- sy : thời gian dành cho system namespace
- id : thời gian dành CPU rảnh rỗi
- wa : thời gian dành cho quá trình chờ đội OI
- st : thời gian dành cho các máy ảo
ps -ef
ps -axu
ps -u root -f
- Xem các file đang mở trên hệ thống : disk files, network sockets, pipes, devices và processes.
yum install lsof
lsof
yum install -y iptraf
iptraf-ng
yum install -y nmon
nmon
yum install -y iotop
iotop
- Check IO stats
yum install sysstat
iostat -d -x sdb
Trong đó:
-
rrqm/s, wrqm/s: The number of read/write requests merged per second that were issued to the device. Multiple single I/O requests can be merged in a transfer request, because a transfer request can have different sizes.
-
r/s, w/s: The number of read/write requests that were issued to the device per second.
-
rsec/s, wsec/s: The number of sectors read/write from the device per second.
-
rkB/s, wkB/s The number of kilobytes read/write from the device per second.
-
avgrq-sz The average size of the requests that were issued to the device. This value is displayed in sectors.
-
avgqu-sz The average queue length of the requests that were issued to the device.
-
await Shows the percentage of CPU utilization that was used while executing at the system level (kernel).
-
svctm The average service time (in milliseconds) for I/O requests that were issued to the device.
-
%util Percentage of CPU time during which I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100%. Sar
-
Monit is a utility for managing and monitoring processes, programs, files, directories and filesystems on a Unix system. Monit conducts automatic maintenance and repair and can execute meaningful causal actions in error situations. E.g. Monit can start a process if it does not run, restart a process if it does not respond and stop a process if it uses too much resources. You can use Monit to monitor files, directories and filesystems for changes, such as timestamps changes, checksum changes or size changes.
Monit is controlled via an easy to configure control file based on a free-format, token-oriented syntax. Monit logs to syslog or to its own log file and notifies you about error conditions via customisable alert messages. Monit can perform various TCP/IP network checks, protocol checks and can utilise SSL for such checks. Monit provides a HTTP(S) interface and you may use a browser to access the Monit program.
yum install monit
-
Các loại socket :
- A Unix domain socket or IPC socket (inter-process communication socket) is a data communications endpoint for exchanging data between processes executing on the same host operating system. Valid socket types in the UNIX domain are: SOCK_STREAM (compare to TCP), for a stream-oriented socket; SOCK_DGRAM (compare to UDP), for a datagram-oriented socket that preserves message boundaries (as on most UNIX implementations, UNIX domain datagram sockets are always reliable and don't reorder datagrams); and SOCK_SEQPACKET (compare to SCTP), for a sequenced-packet socket that is connection-oriented, preserves message boundaries, and delivers messages in the order that they were sent.[1] The Unix domain socket facility is a standard component of POSIX operating systems.
- IP sockets (especially TCP/IP sockets) are a mechanism allowing communication between processes over the network. In some cases, you can use TCP/IP sockets to talk with processes running on the same computer (by using the loopback interface).
-
When using localhost loopback, it stands to reason that memory copy operations are the main factor of throughput, as frames are copied from the source-application memory, then between TCP layers and finally to the memory of the target-application.
-
Netstat : Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
-
Cài đặt
yum install net-tools
- Các option phổ biến
- l : hiển thị các socket đang ở trạng thái chờ
- a : hiển thị các socket đang ở trạng thái listening và đã kết nối
- p : hiển thị PID và name của chương trình của socket
- protocol : hiển thị theo kiểu connect
- e : hiển thị thêm các thông tin bổ sung