首页 > 系统相关 >Linux 系统监控与性能调优

Linux 系统监控与性能调优

时间:2024-06-16 23:33:30浏览次数:21  
标签:性能 使用 系统监控 调优 内存 IO Linux 使用率 CPU

在使用 Linux 系统时,监控系统状态和性能是维护系统稳定运行的重要环节。通过系统监控工具,我们可以实时了解系统的资源使用情况,从而进行有效的性能调优。本文将介绍一些常用的系统监控工具及其使用方法,并提供一些性能调优的基本技巧。

一、系统监控工具

1. tophtop

top 命令是一个实时任务管理器,可以显示系统中正在运行的进程及其资源使用情况。htoptop 的增强版本,具有更加友好的用户界面和更多的功能。

top
htop
  • CPU 使用率:显示各个 CPU 核心的使用情况。
  • 内存使用率:显示物理内存和交换内存的使用情况。
  • 进程信息:显示每个进程的 PID、用户、CPU 和内存使用情况等。
2. vmstat

vmstat 命令可以显示虚拟内存、进程、CPU 活动等系统性能信息。

vmstat 2 5
  • procs:进程信息,r 表示运行队列的进程数,b 表示不可中断睡眠状态的进程数。
  • memory:内存信息,swpd 表示交换内存的使用情况,free 表示空闲内存,buff 和 cache 表示缓存使用情况。
  • swap:交换信息,si 和 so 表示从交换区读写数据的速率。
  • io:IO 信息,bi 和 bo 表示块设备的读写速率。
  • system:系统信息,in 表示每秒的中断次数,cs 表示每秒的上下文切换次数。
  • cpu:CPU 信息,us 表示用户态 CPU 使用率,sy 表示系统态 CPU 使用率,id 表示空闲 CPU 使用率,wa 表示 IO 等待 CPU 使用率。
3. iostat

iostat 命令可以显示 CPU 和磁盘 IO 的统计信息。

iostat -x 2 5
  • %user:用户态 CPU 使用率。
  • %system:系统态 CPU 使用率。
  • %iowait:IO 等待时间的百分比。
  • %idle:空闲时间的百分比。
  • Device:设备名称。
  • r/sw/s:每秒读写请求数。
  • rkB/swkB/s:每秒读写数据量(KB)。
4. netstat

netstat 命令用于显示网络连接、路由表、接口状态等网络信息。

netstat -tuln
  • -t:显示 TCP 连接。
  • -u:显示 UDP 连接。
  • -l:显示监听的端口。
  • -n:显示数字地址和端口。
5. sar

sar 命令是一个强大的系统性能监控工具,可以显示 CPU、内存、IO、网络等各方面的统计信息。

sar -u 2 5
  • -u:显示 CPU 使用情况。
  • -r:显示内存使用情况。
  • -n DEV:显示网络设备的统计信息。

二、性能调优技巧

1. 优化内存使用
  • 释放缓存:定期释放缓存可以避免内存泄漏。
    echo 3 > /proc/sys/vm/drop_caches
    
  • 调整交换分区:合理设置交换分区的大小和使用策略。
    swapon -s
    sysctl vm.swappiness=10
    
2. 优化 CPU 使用
  • 进程优先级调整:使用 nicerenice 命令调整进程的优先级。
    nice -n 10 command
    renice -n 10 -p PID
    
  • 多核优化:确保多线程应用能够充分利用多核 CPU。
3. 优化磁盘 IO
  • 使用 RAID:通过 RAID 技术提升磁盘 IO 性能。
  • 调整 IO 调度算法:选择适合的 IO 调度算法,如 CFQ、deadline、noop。
    echo deadline > /sys/block/sda/queue/scheduler
    
4. 网络性能优化
  • 调整网络参数:通过修改内核参数优化网络性能。
    sysctl -w net.core.somaxconn=1024
    sysctl -w net.ipv4.tcp_tw_reuse=1
    
  • 使用高效的网络协议:如使用 HTTP/2 代替 HTTP/1.1。

希望能够帮助大家更好地掌握 Linux 系统的监控与性能调优技巧。

标签:性能,使用,系统监控,调优,内存,IO,Linux,使用率,CPU
From: https://blog.csdn.net/muxiuyulin871/article/details/139728516

相关文章

  • Linux - set
     zzh@ZZHPC:~$helpsetset:set[-abefhkmnptuvxBCHP][-ooption-name][--][arg...]Setorunsetvaluesofshelloptionsandpositionalparameters.Changethevalueofshellattributesandpositionalparameters,ordisplaythenamesan......
  • 嵌入式Linux中的LED驱动控制(使用多个次设备号)
    在前面的LED驱动控制中,都只使用了一个设备节点(一个次设备号)来进行操作,本例来讨论一下如何把三个基色的LED分别当成三个次设备,即产生出三个设备节点文件,但共用一个设备驱动(同一个主设备号),应用程序各自控制各自的LED。下面先给出完整的驱动程序代码,文件名仍为led.c。#include<l......
  • 【Linux】线程(一)
    谈论之前需要先谈论一些线程的背景知识其中就有进程地址空间,又是这个让我们又爱又恨的东西。注意:全篇都是在32位的情况下进行的目录背景知识:地址空间:内存:页表:基于以上理解文件缓冲区与虚拟地址:文件缓冲区:虚拟地址:线程:linux下的线程:与进程的澄清:win下的进程:与linux......
  • Linux 系统下工作中常用的shell命令
    目录ls:列出目录内容cd:改变当前工作目录pwd:显示当前工作目录的路径cp:复制文件或目录mv:移动文件或目录rm:删除文件或目录mkdir:创建新目录touch:创建空文件cat:连接文件并打印到标准输出设备上grep:在文件中查找模式find:在文件系统中查找文件这些命令是非常常用的,每个命令......
  • Linux 文件的权限信息解读 chmod修改权限 数字序号表示权限
    ls-l#列出当前文件显示详细信息drwxr-xr-x.2dpctest6Jun1507:45test.txt共分为三部分drwxr-xr-x.:表示文件和文件夹的权限信息dpc:文件,文件夹所属的用户test:文件和文件夹所属的用户组drwxr-xr-x解读d表示为文件夹rwx表示dpc的权限r-x所属用户组......
  • Linux 内核定时器实验
    Linux内核定时器实验内核时间管理简介Linux内核中有大量的函数需要时间管理,比如周期性的调度程序、延时程序、对于我们驱动编写者来说最常用的定时器。硬件定时器提供时钟源,时钟源的频率可以设置,设置好以后就周期性的产生定时中断,系统使用定时中断来计时。中断周期性产生的频......
  • Linux的Terminal调用不出来,一直转圈圈
    后来发现是环境变量的问题[oracle@ora19rac01~]$cat.bash_profile#.bash_profile#Getthealiasesandfunctionsif[-f~/.bashrc];then.~/.bashrcfi#Userspecificenvironmentandstartupprograms#aliassqlplus="rlwrapsqlplus"#aliasrman......
  • 云计算【第一阶段(14)】Linux的目录和结构
    一、Liunx目录结构1.1、linux目录结构linux目录结构是树形目录结构根目录(树根)所有分区,目录,文件等的位置起点整个树形目录结构中,使用独立的一个"/",表示1.2、常见的子目录必须知道目录路径目录作用/root系统管理员root的宿主目录/home普通用户的宿主目录/boot系统内核、......
  • linux的权限管理
    linux的权限管理1.权限介绍和示例root用户权限最高,所以一般对它不做什么权限设置。其他用户就要设定权限并且遵守权限了。文件权限:#文件属性[root@localhost~]#touch1.txt[root@localhost~]#ls-l总用量4-rw-r--r--.1rootroot06月1519:091.txt-r......
  • 【3】Linux常见命令
    常用的操作系统有哪些:【1】Windows操作系统:》不同的版本:WindowsXP,Windows7,Windows10【2】Linux操作系统:》不同的版本:centos6.5,redhat红帽,Ubuntu乌班图centos用的比较多,但版本比较老,服务器首选,内核比较稳定Ubuntu用的也比较多,版本比较新【3】Unix操作系统【4】Macos苹果......