热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux主机监控程序,linux主机监控

1.sarsar可以用来监控系统的cpu,io,network,interupt,memeroy,以及进程cpu的信息。常用选项:sar–u(cpu)–

1. sar

sar可以用来监控系统的cpu, io, network, interupt, memeroy,以及进程cpu的信息。常用选项:

sar –u(cpu) –r(memeroy) –W(swap) –n(network) –I(interupt) –b(io) -d(device) 1(interval) 20(count)

sar -n DEV -u 2 5

sar -d 2 4

2. netstat

netstat -pt

(No info could be read for "-p": geteuid()=500 but you should be root.)

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name

tcp        0      0 188.100.253.234:ssh         129.100.248.247:51081       ESTABLISHED -

tcp        0      0 sdw1-2:ssh                  mdw-2:63415                 ESTABLISHED -

tcp        0      0 sdw1-2:ssh                  mdw-2:63305                 ESTABLISHED -

tcp        0      0 188.100.253.234:ssh         129.100.253.126:55329       ESTABLISHED -

tcp        0      0 sdw1-2:ssh                  mdw-2:62796                 ESTABLISHED -

tcp        0      0 sdw1:ssh                    mdw:19024                   ESTABLISHED -

tcp        0      0 sdw1-2:ssh                  mdw-2:63205                 ESTABLISHED -

tcp        0      0 sdw1:ssh                    mdw:19481                   ESTABLISHED -

tcp        0      0 sdw1:ssh                    mdw:26304                   ESTABLISHED -

[gpadmin@sdw1 ~]$

2. top

实时的系统性能监控工具

可以动态查看系统的cpu, memeroy,以及各个进程的资源信息

我们可以通过top命令获得一个进程使用了多少虚拟内存(VIRT)、物理内存(RES)、共享内存(SHR)。

mpstat的语句如下:

$mpstat –查看所有cpu的汇总信息

$mpstat –P ALL分开显示不同cpu的汇总信息

$mpstat –P 1   只显示cpu 1的汇总信息

# uptime:显示系统运行时间

可以具体参考下top命令 shift+m可以按内存排序 shift+p  CPU排序

3. iostat iostat –x 1

iostat -d -x -m 3 3

# iostat -x 2 2

Linux 2.6.18-194.el5 (pc197) 11/19/2013

avg-cpu: %user %nice %system %iowait %steal %idle

4.96 0.01 0.39 4.65 0.00 89.99

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

sda 5.44 132.99 34.44 18.28 2409.64 1210.47 68.67 0.16 6.82 3.33 17.56

sda1 0.00 0.00 0.00 0.00 0.00 0.00 4.70 0.00 20.11 20.11 0.00

sda2 5.44 132.99 34.44 18.28 2409.64 1210.47 68.67 0.16 6.82 3.33 17.56

dm-0 0.00 0.00 39.72 151.15 2408.31 1209.23 18.95 0.17 0.91 0.92 17.55

dm-1 0.00 0.00 0.17 0.15 1.32 1.24 8.00 0.01 22.09 1.39 0.04

avg-cpu: %user %nice %system %iowait %steal %idle

24.75 0.00 0.50 0.25 0.00 74.50

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

sda 0.00 124.50 0.50 6.00 4.00 1044.00 161.23 0.01 1.85 1.85 1.20

sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

sda2 0.00 124.50 0.50 6.00 4.00 1044.00 161.23 0.01 1.85 1.85 1.20

dm-0 0.00 0.00 0.50 130.50 4.00 1044.00 8.00 0.18 1.41 0.09 1.20

dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

cpu列中iowait是指cpu空闲而io队列非空的处理器时间比例

device中的util是指io队列非空的处理器时间比例。%util >= %iowait

device列中各行的具体含义:

rrqm/s wrqm/s 是每秒钟进行merge的读写次数,就是逻辑上的read和write次数

r/s w/s是merge后对物理设备的读写次数,是真正执行的read和write次数

rsec/s wsec/s是读写设备的扇区数,注意write操作可能也会需要读设备扇区,是真实的物理操作

rkB/s wkB/s是读写设备的K字节数。rkB/s = rsec/s / 2, wkB/s = wsec/s / 2 avgrq-sz是

平均每次merge后的IO操作的数据扇区大小。

avgrq-sz = (rsec/s + wsec/s) / (r/s + w/s)

avgqu-sz是平均IO队列长度。可以反映系统IO负载,不能反映瞬间的IO洪水。

await是平均每次IO操作的耗时,包括在队列中的等待时间和真正的操作时间。

svctm是平均每次IO操作的真正操作耗时&#xff0c;svctm一般和磁盘的性能相关&#xff0c;cpu/内存等也会有间接影响&#xff1b;await主要由svctm和请求队列长度决定。svctm <&#61; await 通过await和svctm的差值(即队列中等待时间)可以一定程度的反映IO洪水。因为IO洪水&#xff0c;导致IO请求等待时间很长&#xff0c;await和svctm的差值较大&#xff0c;这个时间点IO队列也长&#xff0c;而平均到统计周期中IO队列可能很短。

await &#61; delta(ruse &#43; wuse) / delta(io) //await 单位ms

delta(io) &#61; r/s &#43; w/s

每秒钟的平均队列长度 &#61; 总等待时间ms / 1000

&#61;>  delta(ruse &#43; wuse) &#61; await * (r/s &#43; w/s)

&#61;>  avgqu-sz &#61; await * (r/s &#43; w/s) / 1000

平均单次IO大小(IO Chunk Size) avgrq-sz

平均IO响应时间(IO Response Time) await

IOPS(IO per Second) r/s &#43; w/s

吞吐率(Throughtput) rkB/s &#43; wkB/s

4. vmstat

vmstat -w 3

vm类似于sar 但是不能监控网络信息&#xff0c;可以监控cpu&#xff0c;memeroy&#xff0c;中断&#xff0c;上下文切换等系统信息。可以看到有效内存和无效内存的信息&#xff0c;slab信息。不过可读性不好。

5、进程

ps aux --查看所有的详细进程

[root&#64;sdw2 ~]# ps auxw --sort&#61;rss,vsz|head -10

ps -aux | sort -k4,4n

ps auxw --sort&#61;rss

ps auxw --sort&#61;%cpu

%CPU 进程的cpu占用率 %MEM 进程的内存占用率 VSZ 进程所使用的虚存的大小 RSS 进程使用的驻留集大小或者是实际内存的大小 TTY 与进程关联的终端(tty) STAT 检查的状态&#xff1a;进程状态使用字符表示的&#xff0c;如R(running正在运行或准备运行)、S(sleeping睡眠)、I(idle空闲)、Z (僵死)、D(不可中断的睡眠&#xff0c;通常是I/O)、P(等待交换页)、W(换出,表示当前页面不在内存)、N(低优先级任务)T(terminate终止)、W has no resident pages START (进程启动时间和日期) TIME ;(进程使用的总cpu时间) COMMAND (正在执行的命令行命令) NI (nice)优先级 PRI 进程优先级编号 PPID 父进程的进程ID(parent process id) SID 会话ID(session id) WCHAN 进程正在睡眠的内核函数名称&#xff1b;该函数的名称是从/root/system.map文件中获得的。 FLAGS 与进程相关的数字标识

6、内存

# free&#xff1a;查看内存

free -g

综上所述&#xff1a;

观察cpu,memeroy信息使用: top

io使用: iostat&#xff0c;

网络信息使用: sar –n DEV。

中断等其他信息使用sar。vmstat只在分析虚拟内存细节时使用。监控时不仅仅使用一种方案&#xff0c;可以多种方案互相参考&#xff0c;比如io可以使用iostat –x 和sar –d 一起使用

watch -d -n 1 sar -n DEV  1 4 watch -d -n 2 vmstat -w 3 3



推荐阅读
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 服务器上的操作系统有哪些,如何选择适合的操作系统?
    本文介绍了服务器上常见的操作系统,包括系统盘镜像、数据盘镜像和整机镜像的数量。同时,还介绍了共享镜像的限制和使用方法。此外,还提供了关于华为云服务的帮助中心,其中包括产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题和视频帮助等技术文档。对于裸金属服务器的远程登录,本文介绍了使用密钥对登录的方法,并提供了部分操作系统配置示例。最后,还提到了SUSE云耀云服务器的特点和快速搭建方法。 ... [详细]
  • 本文介绍了使用SSH免密登录的步骤,包括生成公私钥、传递公钥给被登录机、修改文件权限的操作。同时提醒用户注意私钥的传递方式,建议使用U盘等离线方式传递。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
author-avatar
勇敢的柯柯_j
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有