在Linux上安装开启FTP服务及FTP权限设置(好亲测)
在Linux上安装开启FTP服务及FTP权限设置(好...
别名:
分类:Linux 教程 | 收藏:0 | 评论: | 更新:2023-06-27 17:04:59 | 人气:0
Linux查看负载负载(load)是linux机器的一个重要指标,直观了反应了机器当前的状态。如果机器负载过高,那么对机器的操作将难以进行。Linux的负载高,主要是由于CPU使用、内存使用、IO消耗三部分构成。任意一项使用过多,都将导致服务器负载的急剧攀升。一、查看磁盘 df -h 二、查看内存大小 free free [-m|g]按MB,GB显示内存 vmstat 三、查看cpu cat /p...

免费阅读 打赏作者

在Linux上安装开启FTP服务及FTP权限设置(好亲测)

Linux查看负载

负载(load)linux机器的一个重要指标,直观了反应了机器当前的状态。如果机器负载过高,那么对机器的操作将难以进行。

Linux的负载高,主要是由于CPU使用、内存使用、IO消耗三部分构成。任意一项使用过多,都将导致服务器负载的急剧攀升。

一、查看磁盘

 

df -h

 

二、查看内存大小

 

free

 

free [-m|g]按MB,GB显示内存

 

vmstat

 

三、查看cpu

 

cat /proc/cpuinfo

 

只看cpu数量grep "model name" /proc/cpuinfo | wc -l

 

四、查看系统内存

 

cat /proc/meminfo

 

五、查看每个进程的情况

 

cat /proc/5346/status 5347是pid

 

六、查看负载

查看服务器负载有多种命令,w或者uptime都可以直接展示负载,

$ uptime
 12:20:30 up 44 days, 21:46,  2 users,  load average: 8.99, 7.55, 5.40

$ w
 12:22:02 up 44 days, 21:48,  2 users,  load average: 3.96, 6.28, 5.16

load average分别对应于过去1分钟,5分钟,15分钟的负载平均值。

这两个命令只是单纯的反映出负载,linux提供了更为强大,也更为实用的top命令来查看服务器负载。

 

 

七、top

top命令能够清晰的展现出系统的状态,而且它是实时的监控,按q退出。

 

Tasks行展示了目前的进程总数及所处状态,要注意zombie,表示僵尸进程,不为0则表示有进程出现问题。

Cpu(s)行展示了当前CPU的状态,us表示用户进程占用CPU比例,sy表示内核进程占用CPU比例,id表示空闲CPU百分比,wa表示IO等待所占用的CPU时间的百分比。wa占用超过30%则表示IO压力很大

Mem行展示了当前内存的状态,total是总的内存大小,userd是已使用的,free是剩余的,buffers是目录缓存。

Swap行同Mem行,cached表示缓存,用户已打开的文件。如果Swapused很高,则表示系统内存不足

 

top命令下,按1,则可以展示出服务器有多少CPU,及每个CPU的使用情况

一般而言,服务器的合理负载是CPU核数*2。也就是说对于8核的CPU,负载在16以内表明机器运行很稳定流畅。如果负载超过16了,就说明服务器的运行有一定的压力了。

top命令下,按shift + "c",则将进程按照CPU使用率从大到小排序,按shift+"p",则将进程按照内存使用率从大到小排序,很容易能够定位出哪些服务占用了较高的CPU和内存。

 

仅仅有top命令是不够的,因为它仅能展示CPU和内存的使用情况,对于负载升高的另一重要原因——IO没有清晰明确的展示。linux提供了iostat命令,可以了解io的开销。

输入iostat -x 1 10命令,表示开始监控输入输出状态,-x表示显示所有参数信息,1表示每隔1秒监控一次,10表示共监控10次。

没有iostat命令的话  yum/apt-get install sysstat -y 即可

其中rsec/s表示读入,wsec/s表示每秒写入,这两个参数某一个特别高的时候就表示磁盘IO有很大压力,util表示IO使用率,如果接近100%,说明IO满负荷运转。 

 

总结:

1)使用top命令查看负载,在top下按“1”查看CPU核心数量,shift+"c"cpu使用率大小排序,shif+"p"按内存使用率高低排序;

2)使用iostat -x 命令来监控io的输入输出是否过大

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.            使用SSHClient客户端连接到远程Linux系统。使用top命令查看系统的当前运行的情况。如图对top命令执行的结果做了简单的图解,下面针对每一项做详细的解释。

linux怎样使用top命令查看系统状态

2.            top命令的第一行“top - 19:56:47 up 39 min,  3 users,  load average: 0.00, 0.00, 0.00”显示的内容依次为系统当前时间 、系统到目前为止已运行的时间、当前登录系统的用户数量、系统负载(任务队列的平均长度)三个值分别为1分钟、5分钟、15分钟前到现在的平均值【这三个一般会小于1,如果持续高于5,请仔细查看那个程序影响系统的运行】

linux怎样使用top命令查看系统状态

3.            top命令的第二行“Tasks: 120 total,   2 running, 118 sleeping,   0 stopped,   0 zombie”显示的内容依次所有启动的进程数正在运行的进程数挂起的进程数停止的进程数僵尸进程数

linux怎样使用top命令查看系统状态

4.            top命令的第三行“Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st”显示的内容依次为用户空间占用CPU百分比内核空间占用CPU百分比用户空间内改变过优先级的进程占用CPU百分比空闲CPU百分比等待输入输出CPU时间百分比“CPU服务于硬件中断所耗费的时间总额“CPU服务软中断所耗费的时间总额“Steal Time”

linux怎样使用top命令查看系统状态

5.            top命令第四行“Mem:    508820k total,   480172k used,    28648k free,    41944k buffers”显示内容依次为物理内存总量已使用的物理内存空闲物理内存内核缓存内存量

linux怎样使用top命令查看系统状态

6.            top命令第5“Swap:   392184k total,        0k used,   392184k free,   259152k cached”显示内容依次为交换区总量已使用交互区总量空闲交换区总量缓冲的交换区总量

linux怎样使用top命令查看系统状态

7.            top命令第5“PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND ”显示内容依次为进程ID”进程所有者优先级“nice值,负值表示高优先级,正值表示低优先级进程使用的虚拟内存总量进程使用的、未被换出的物理内存大小共享内存大小进程状态上次更新到现在的CPU时间占用百分比进程使用的物理内存百分比进程使用CPU总时间命令名、命令行

 

 

 

八、性能监视sar命令

 

sar -u输出显示CPU信息。-u选项是sar的默认选项。该输出以百分比显示CPU的使用情况

 

CPU

 

CPU编号

 

%user

 

在用户模式中运行进程所花的时间

 

%nice

 

运行正常进程所花的时间

 

%system

 

在内核模式(系统)中运行进程所花的时间

 

%iowait

 

没有进程在该CPU上执行时,处理器等待I/O完成的时间

 

%idle

 

没有进程在该CPU上执行的时间

 

sar 5 10 sar以5秒钟间隔取得10个样本

 

sar -u -p ALL 5 5 分cup显示

 

sar -n { DEV | EDEV | NFS | NFSD | SOCK | ALL }

 

sar 提供六种不同的语法选项来显示网络信息。-n选项使用6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。

 

sar -n DEV 各参数含义

 

IFACE

 

LAN接口

 

rxpck/s

 

每秒钟接收的数据包

 

txpck/s

 

每秒钟发送的数据包

 

rxbyt/s

 

每秒钟接收的字节数

 

txbyt/s

 

每秒钟发送的字节数

 

rxcmp/s

 

每秒钟接收的压缩数据包

 

txcmp/s

 

每秒钟发送的压缩数据包

 

rxmcst/s

 

每秒钟接收的多播数据包

 

9,查看命令历史(含时间戳)

 

export HISTTIMEFORMAT='%F %T ';history| more

 

10,查看文件夹和文件大小

 

du -h --max-depth=0 dm 查看dm目录大小

 

du -h --max-depth=1 dm 查看dm目录大小,以及dm各文件文件夹的大小

 

du -h --max-depth=0 查看当前文件夹大小

 

 

九、其次、 iostat -x 1 10

  如果 iostat 没有,要  yum install sysstat

  avg-cpu:  %user   %nice    %sys %iowait   %idle

  0.00       0.00     0.25    33.46    66.29

  Device:    rrqm/s  wrqm/s   r/s    w/s     rsec/s   wsec/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util

  sda          0.00    0.00      0.00   0.00    0.00    0.00         0.00     0.00     0.00           0.00    0.00    0.00   0.00

  sdb          0.00   1122  17.00  9.00  192.00 9216.00    96.00  4608.00   123.79   137.23 1033.43  13.17 100.10

  sdc          0.00    0.00     0.00   0.00     0.00     0.00      0.00     0.00     0.00             0.00    0.00      0.00   0.00

  查看%util 100.10 %idle 66.29

  如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。

  idle小于70% IO压力就较大了,一般读取速度有较多的wait.

  同时可以结合vmstat 查看查看b参数(等待资源的进程数)

  vmstat -1

  如果你想对硬盘做一个IO负荷的压力测试可以用如下命令

time dd if=/dev/zero bs=1M count=2048 of=direct_2G

  此命令为在当前目录下新建一个2G的文件

  我们在新建文件夹的同时来测试IO的负荷情况

  再通过如下脚本查看高峰的进程io情况

  monitor_io_stats.sh

  #!/bin/sh

  /etc/init.d/syslog stop

  echo 1 > /proc/sys/vm/block_dump

  sleep 60

  dmesg | awk '/(READ|WRITE|dirtied)/ {process[$1]++} END {for (x in process) \

  print process[x],x}' |sort -nr |awk '{print $2 " " $1}' | \

  head -n 10

  echo 0 > /proc/sys/vm/block_dump

  /etc/init.d/syslog start

  或者用iodump.pl脚本