Linux运维
文章平均质量分 83
C-Jonn
python
Keep calm and carry on!
展开
-
云主机安装gcc通过降级glibc解决依赖问题
云主机安装gcc通过降级glibc解决依赖问题原创 2022-09-14 10:56:36 · 2048 阅读 · 1 评论 -
总结篇:性能问题分析及优化的一般方法,工具速查
目录性能分析的一般步骤一、CPU 性能分析二、内存性能分析三、磁盘和文件系统 I/O 性能分析四、网络性能分析五、应用程序瓶颈性能优化的一般方法一、CPU 优化二、内存优化三、磁盘和文件系统 I/O 优化四、网络优化五、应用程序优化性能工具一、工具选择的原则二、CPU 性能工具三、内存性能工具四、磁盘 I/O 性能工具五、网络性能工具六、基准测试工具性能分析的一般步骤一、CPU 性能分析关于 CPU 的性能..原创 2021-05-25 23:29:04 · 2718 阅读 · 2 评论 -
总结篇:系统及应用监控的综合思路
目录一、系统监控1、USE 法2、监控系统二、应用监控1、指标监控2、日志监控三、总结性能分析的原理、思路以及相关的工具很多也很好用。不过,在实际的性能分析中,一个很常见的现象是,明明发生了性能瓶颈,但当你登录到服务器中想要排查的时候,却发现瓶颈已经消失了。或者说,性能问题总是时不时地发生,但却很难找出发生规律,也很难重现。当面对这样的场景时,你可能会发现,之前遇到的各种工具、方法都“失效“了。为什么呢?因为它们都需要在性能问题发生的时刻才有效,而在这些事后分析的场.原创 2021-05-24 21:17:18 · 1972 阅读 · 2 评论 -
总结篇:系统的网络性能评估及优化思路
目录一、性能指标二、网络基准测试1、转发性能2、TCP/UDP 性能3、HTTP 性能4、应用负载性能三、性能优化思路1、确定优化目标2、网络性能工具3、网络性能优化四、总结1、性能评估2、性能优化一、性能指标在Linux网络的工作机制及性能指标中,说到,带宽、吞吐量、延时、PPS 等,都是最常用的网络性能指标。 首先,带宽,表示链路的最大传输速率,单位是 b/s(比特 / 秒)。在你为服务器选购网卡时,带宽就是最核心的参考指标。常..原创 2021-05-16 22:30:37 · 3485 阅读 · 0 评论 -
Linux网络的工作机制及性能指标
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。同 CPU、内存以及 I/O 一样,网络也是 Linux 系统最核心的功能。网络是一种把不同计算机或网络设备连接到一起的技术,它本质上是一种进程间通信方式,特别是跨系统的进程间通信,必须要通过网络才能进行。随着高并发、分布式、云计算、微服务等技术的普及,网络的性能也变得越来越重要。一、网络模型1、O...原创 2021-05-10 22:46:02 · 379 阅读 · 0 评论 -
总结篇:Linux I/O问题如何快速定位
一、性能指标如下文件系统和IO栈如下图:1、文件系统 I/O 性能指标(1)存储空间的使用情况,包括容量、使用量以及剩余空间,通常也称这些为磁盘空间的使用量,因为文件系统的数据最终还是存储在磁盘上。注意:这些只是文件系统向外展示的空间使用,而非在磁盘空间的真实用量,因为文件系统的元数据也会占用磁盘空间。并且,如果你配置了 RAID,从文件系统看到的使用量跟实际磁盘的占用空间,也会因为 RAID 级别的不同而不一样。比方说,配置 RAID10 后,你从文件系统最多也只能看到所有磁盘...原创 2021-05-07 21:43:53 · 865 阅读 · 0 评论 -
Linux的磁盘I/O的工作机制
目录一、文件系统概要二、磁盘三、通用块层四、I/O栈五、磁盘性能指标六、查看I/O使用情况1、磁盘I/O2、进程 I/O一、文件系统概要Linux系统中,文件系统是对存储设备上的文件,进行组织管理的一种机制。而 Linux 在各种文件系统实现上,又抽象了一层虚拟文件系统 VFS,它定义了一组所有文件系统都支持的数据结构和标准接口。 对应用程序来说,只需要跟 VFS 提供的统一接口交互,而不需要关注文件系统的具体实现; 对具体的文件系统来说,只需要按照原创 2021-05-05 22:38:50 · 233 阅读 · 0 评论 -
总结篇:系统内存问题如何快速定位
目录一、内存性能指标1、系统内存指标2、进程内存指标3、SWAP内存指标二、内存性能工具三、性能指标和工具的联系1、从内存指标出发2、从性能工具出发四、如何迅速分析内存的性能瓶颈五、常见优化思路一、内存性能指标为了分析内存的性能瓶颈,首先要知道,怎样衡量内存的性能,也就是性能指标。内存性能指标可以大概分为三种:系统内存指标、进程内存指标、SWAP。1、系统内存指标系统内存使用情况,比如已用内存、剩余内存、共享内存、可用内存、缓存和缓冲区的用量等。.原创 2021-05-03 12:00:29 · 380 阅读 · 0 评论 -
Linux swap分区工作原理及问题定位
#目录部分一、文件页和匿名页1、文件页当发生了内存泄漏时,或者运行了大内存的应用程序,导致系统的内存资源紧张时,系统又会如何应对呢?内存回收和 OOM 杀死进程。内存资源紧张导致的 OOM(Out Of Memory),指的是系统杀死占用大量内存的进程,释放这些内存,再分配给其他更需要的进程。内存回收,也就是系统释放掉可以回收的内存,比如缓存和缓冲区,就属于可回收内存。它们在内存管理中,通常被叫做文件页(File-backed Page)。大部分文件页,都可以直接回收,以后有需.原创 2021-05-01 21:35:59 · 741 阅读 · 0 评论 -
该如何定位和处理内存泄漏?
目录一、何为内存泄露?二、怎么发生内存泄漏?三、发生后定位处理?四、总结一、何为内存泄露?何为内存泄漏?又是怎么发生的呢?通过对Linux系统内存工作原理的了解,我们知道: 普通进程通过页表将内核提供的虚拟内存映射到物理内存。 当进程通过 malloc() 申请虚拟内存后,系统并不会立即为其分配物理内存,而是在首次访问时,才通过缺页异常陷入内核中分配内存。 协调 CPU 与磁盘间的性能差异,提升系统的 I/O 性能,Linux 还会使用 Cach.原创 2021-04-25 22:24:14 · 749 阅读 · 0 评论 -
内存中的buffer和cache
目录一、free命令二、buffer和cache的数据来源及含义1、数据来源2、Buffers、Cached 和 SReclaimable3、其他注意点三、如何利用Buffer 和 Cache优化程序的运行效率?1、缓存命中率2、指定文件的缓存大小四、总结一、free命令提到查看linux主机内存,我们总会想到free命令也一般用该命令,如下面的输出:[root@localhost ~]# free total .原创 2021-04-24 23:41:32 · 2806 阅读 · 0 评论 -
CentOS 中升级系统内核并安装 bcc-tools
说明:如下操作均为再安装的本地虚拟机中执行,生产操作慎行!!!一、升级内核查看当前内核版本:[root@localhost ~]# uname -r3.10.0-1160.el7.x86_64[root@localhost ~]# 升级系统:yum update -y 等待结束安装 ELRepo[root@localhost ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org[root@local.原创 2021-04-24 23:23:03 · 375 阅读 · 0 评论 -
Linux内存是怎么工作的?
目录一、物理内存和虚拟内存二、内存映射三、虚拟内存的空间分布四、内存的分配与回收五、如何查看内存的使用情况?六、总结一、物理内存和虚拟内存同 CPU 管理一样,内存管理也是操作系统最核心的功能之一。内存主要用来存储系统和应用程序的指令、数据、缓存等。我们通常也会说到自己的笔记本是8G或16G,这也是内存容量,实际上是指的物理内存。物理内存也称为主存,大多数计算机用的主存都是动态随机访问内存(DRAM)。只有内核才可以直接访问物理内存。那么,进程要访问内存时,该怎么办呢原创 2021-04-22 22:03:39 · 164 阅读 · 0 评论 -
CPU性能分析优化套路
内容摘自极客时间《Linux性能优化实战》CPU 的性能指标那么多,CPU 性能分析工具也是一抓一大把,如果离开专栏,换成实际的工作场景,我又该观察什么指标、选择哪个性能工具呢?不要担心,总结出一个“又快又准”的瓶颈定位套路,告诉你在不同场景下,指标工具怎么选,性能瓶颈怎么找。一、CPU性能指标1、CPU 使用率CPU 使用率描述了非空闲时间占总 CPU 时间的百分比,根据 CPU 上运行任务的不同,又被分为用户 CPU、系统 CPU、等待 I/O CPU、软中断和硬中断等。用户 C原创 2021-04-19 19:42:17 · 496 阅读 · 0 评论 -
软中断CPU使用率高 咋办?
目录一、中断怎么理解?二、查看软中断和内核线程三、软中断频繁致CPU使用率升高四、总结上篇文章《系统中不可中断状态进程和僵尸进程很多怎么办?》中,进程可能会在不可中断状态保持很久,导致系统中出现大量不可中断进程,等待 I/O 的进程一般是不可中断状态。iowait的升高也导致CPU使用率高,除了 iowait,软中断(softirq)CPU 使用率升高也是最常见的一种性能问题。一、中断怎么理解?中断是系统用来响应硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中原创 2021-04-15 21:31:12 · 3396 阅读 · 1 评论 -
系统中不可中断状态进程和僵尸进程很多怎么办?
目录一、什么是进程?二、进程的状态三、不可中断进程和僵尸进程四、iowait升高分析五、僵尸进程分析僵尸进程不断生成,导致服务器hang住,真实的案例在眼前发生,对于线上生产环境问题,秉着应用恢复正常为第一要义,凭借高超的重启技术,先重启服务器然后重启应用恢复,感叹重启大法好,一切又回归了平静,在充实而忙碌的日子里等待下一次的异常后的重启操作。。。一次又一次,重启操作越来越熟练,僵尸进程还是那些进程。终于有一天,重启熟练度达成新成就99%,没有了上升空间...这天,僵尸进程又来.原创 2021-04-13 23:00:59 · 680 阅读 · 0 评论 -
Linux主机CPU高这样查就对了
一、CPU使用率及计算方法一提到CPU指标,大家最可能熟悉的莫过于CPU使用率,表示的是单位时间内 CPU 使用情况的统计,以百分比的方式展示。查看CPU使用率一手top,天下我有,再就可能会使用到ps。但是对于top、ps 之类的性能工具展示的 %user、%nice、 %system、%iowait 、%steal 等之间计算方式及不同之处了解甚微。接下来就是我们展现“杆法”的时候了。我们都知道,Linux是一个多任务的操作系统,将每个CPU的占用通过很短的时间片来调度给每个任务使用,由于时间极原创 2021-04-12 22:31:33 · 680 阅读 · 0 评论 -
Linux性能优化实战学习笔记 CPU性能篇-CPU上下文切换含义
一、CPU的上下文及上下文切换Linux 是一个多任务操作系统,它支持远大于 CPU 数量的任务同时运行。当然,这些任务实际上并不是真的在同时运行,而是因为系统在很短的时间内,将 CPU 轮流分配给它们,造成多任务同时运行的错觉。每个任务运行前,CPU 都需要知道任务从哪里加载、又从哪里开始运行,也就是说,需要系统事先帮它设置好 CPU 寄存器和程序计数器(Program Counter,PC)。CPU 寄存器,是 CPU 内置的容量小、但速度极快的内存。而程序计数器,则是用来存储 CPU 正在原创 2021-04-11 23:12:53 · 121 阅读 · 0 评论 -
Centos7查看主机IP地址
Centos7默认没有安装ifconfig命令.使用ip addr 查看IP地址的时候出现如下:ens33 为对应的网卡,但是无法确定IP地址.解决:vi /etc/sysconfig/network-scripts/ifcfg-ens33将ONBOOT=no 修改为 yes重启网卡:service network restart再次ip addr 便可查看到IP地址:...原创 2021-04-10 23:51:14 · 1798 阅读 · 1 评论 -
Linux性能优化实战学习笔记 CPU性能篇-平均负载
一、什么是平均负载?日常的工作中,经常会遇到系统变慢,响应时间长,通常会做的第一件事就是执行top和uptime命令,了解CPU的使用率及负载情况:如下uptime命令:$ uptime02:34:03 up 2 days, 20:14, 1 user, load average: 0.63, 0.83, 0.88这些列对应的含义分别如下:02:34:03 //当前时间up 2 days, 20:14 //系统运行时间1 user //正在登录用户数load avera原创 2021-04-10 17:36:49 · 149 阅读 · 0 评论 -
centos7下没有ifconfig命令的解决方法
ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息。linux镜像:CentOS-7-x86_64-DVD-2003.iso[root@localhost ~]# cat /etc/redhat-releaseCentOS Linux release 7.8.2003 (Core)[root@localhost ~]#使用ifconfig查看主机ip的时候,无情提示“未找到命令”:[root@localhost ~]# ifconfig-bash: if原创 2020-10-11 22:08:06 · 568 阅读 · 1 评论 -
swap满了,cache太多,怎么破?
最近处理线上问题的时候总是遇到用户说我的主机swap分区怎么用满了,cache怎么使用的很多,麻烦帮忙看看。。。一、找出那些进程占用swap内存for i in `cd /proc;ls |grep "^[0-9]" |awk $0>100`;do awk '/Swap:/{a=a+$2}END{print '"$2"',a/1024"M"}' /proc/$i/smaps;don......原创 2019-11-02 15:29:41 · 9123 阅读 · 0 评论 -
Connection reset by peer的常见原因及常见网络异常
Connection reset by peer的常见原因:1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭; 如果知道实际连接服务器的并发客户数没有超过服务器的承载量,则有可能是中了病毒或者木马,引起网络流量异常。可以使用netstat -an查看网络连接情况。2)客户关掉了浏览器,而服务器还在给客户端发送数据;3)浏览器端按了Stop; 这两...转载 2019-09-28 10:37:25 · 2233 阅读 · 0 评论 -
Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结(oom)
一、导致OutOfMemoryError异常的常见原因有以下几种:1、内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2、集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;3、代码中存在死循环或循环产生过多重复的对象实体;4、使用的第三方软件中的BUG;5、启动参数内存值设定的过小;二、内存溢出常见的错误提示:tomcat: java.lang.Out...原创 2019-09-28 10:34:48 · 10038 阅读 · 0 评论 -
Linux压缩与解压缩命令
tar是操作.tar的命令gzip是压缩.gz压缩包的命令compress:压缩.Z文件uncompress:解压缩.Z文件tar命令:操作.tar的命令 解压:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirNamegz命令 解压1:gunzip FileName.gz原创 2017-06-02 20:37:18 · 171 阅读 · 0 评论 -
ARM微处理器第二弹:寄存器
ARM微处理器共有37个32位寄存器,其中31个通用寄存器,6个为状态寄存器。这些寄存器是不能被同时访问的,具体那些可以被访问,取决于ARM处理器的工作状态及具体的运行模式。但是在任何时候,通用寄存器R14-R0、程序计数器PC、一个状态寄存器都是可以被访问的。寄存器(ARM状态下):在ARM状态下,任一时刻可以访问16个通用寄存器和一到两个状态寄存器。非用户模式(特权模式)下,可以访问特定模原创 2017-05-16 14:50:05 · 615 阅读 · 0 评论 -
ARM微处理器第一弹:工作状态,存储器格式,指令长度,工作模式
工作状态: 从编程角度看,ARM微处理器的工作状态一般有两种,并可在这两种状态下可随时切换:第一种是ARM状态,此时处理器执行的是32位的字对齐的ARM指令;第二种是Thumb状态,此时处理器执行的是16位的、半字对齐的Thumb指令。存储器格式:ARM体系结构将存储器看做从零地址开始的字节线性组合。即:从零字节到三字节放置第一个存储的字(32位)数据,从第四字节到第七原创 2017-05-13 16:10:44 · 1698 阅读 · 0 评论 -
GCC:程序编译
GCC 原名为 GNU C 语言编译器(GNU C Compiler)因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C++。后来又扩展能够支持更多编程语言,如Objective-C、Java 、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)。GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的原创 2017-04-30 09:42:18 · 298 阅读 · 0 评论 -
dump获取方式(线程,内存,coredump)及Jstat
1、线程dump获取方法:jrockit:jrockit-j2sdk1.4.2_15/bin/jrcmd javapid print_threadsjdk:jdk1.6.0_45/bin/jstack javapid线程dump将会输出到标准输出2、heapdump(jvm内存概要)获取方法:jrockit:jrockit-j2sdk1.4.2_15/bin/jrcmd j...原创 2019-09-28 11:01:39 · 1070 阅读 · 0 评论 -
Linux周期性执行任务:cron
linux中使用cron工具做定时任务,系统的定时任务/etc/crontab 下首先需要确定crond进程在运行。crond是linux下用来周期性执行任务的一个守护进程,crond服务通常被放在/etc/init.d/crond ,系统启动后会自动启动crond服务。crontab是一种命令,Linux中的用户使用contab命令来配置corn任务。crond服务service...原创 2019-09-29 20:02:48 · 538 阅读 · 0 评论 -
ubuntu主机使用ssh客户端连接时可能报:server responded "algorithm negotiation failed” 解决
报错信息:Server responded "algorithm negotiation failed” .Key exchange with the remote host failed.This can happen for example if the remote host computer does not support the selected algorithms....原创 2019-09-30 20:44:01 · 998 阅读 · 0 评论 -
Linux时间同步
1.ntpstatntpstat 命令查看时间同步状态,这个一般需要5-10分钟后才能成功连接和同步。所以,服务器启动后需要稍等下。刚启动的时候,一般是:# ntpstatunsynchronised time server re-starting polling server every 64 s连接并同步后:synchronised to NTP ser...原创 2019-10-10 21:11:48 · 285 阅读 · 1 评论