近日,我们开发发现有一台配置相同的服务器跑的特别慢,相同数据量的情况下,其他服务器只要跑10分钟,这台服务器要跑50分钟,经确认,所有的应用层配置参数都相同.上去之后,发现该服务器swap使用比较多,大概有8-10G左右(配置了32G,1:1),该服务器上的应用进程内存使用量(PSS)和其他服务器差不多,不存在特别多的情况.为了尽可能不使用交换区,将vm.swappiness设置为0了,重跑,发现运行一段时间之后,cached和free都没有了,swap又上去了,但是rss占用一直在十几个G(p…
这篇文章主要介绍了解决Linux下php-fpm进程过多导致内存耗尽问题,需要的朋友可以参考下   最近,发现个人博客的Linux服务器,数据库服务经常挂掉,导致需要重启,才能正常访问,极其恶心,于是决心开始解决问题,解放我的时间和精力(我可不想经常出问题,然后人工重启,费力费时). 分析问题 发现问题以后,首先使用 free -m 指令查看当前服务器执行状况: 可以看到我的服务器内存是2G的,但是目前可用内存只剩下70M,内存使用率高达92%,很有可能是内存使用率过高导致数据库服务挂断. 继续…
总览 mkswap [-c] [-vN] [-f] device [size] 描述 mkswap 在一个设备上或者在一个文件里创建一个linux交换区. (该交换区创建后,必须使用 swapon 命令来启用它.通常交换区被列在 /etc/fstab 中,从而使得在启动时可通过某些启动脚本中的 swapon -a 命令来启用.) 参数 device 通常是一个磁盘分区(类似于 /dev/hda4 或者 /dev/sdb7 ),但也可以是一个文件. Linux内核不会着眼于分区号,但是一些安装脚本…
在项目中对程序性能优化时,发现用SetProcessWorkingSetSize() 方法使内存降低了很多,于是查阅了相关的资料如下: 我的程序为什么能够将占用的内存移至虚拟内存呢? 其实,你也可以,试试看把一个程序最小化到任务栏,再看看任务管理器.看到没,你的程序占用的实际内存一下子减少了,看来并不是我有什么方法能够压缩内存,而是操作系统本身就有这个机制,即当程序不使用时(最小化),操作系统会调用某些命令,来将该程序占用的内存移 至虚拟内存,只保留一小部分常规代码.所以我们就看到了 这种情景,…
处理办法 echo "vm.swappiness=0" >>/etc/sysctl.conf sysctl -p swapoff -a && swapon -a…
首先要通过VMware设置简单实现内存扩大.但是系统中的/swap应该如何设置呢? 1. 创建swap 文件 使用如下命令: #dd if=/dev/zero of=/swap/swapfile bs=1M count=3072  dd命令作用是用指定大小的块拷贝一个文件,并在拷贝同时进行指定的转换. 语法:dd [选项] if =输入文件(或设备名称). of =输出文件(或设备名称). ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数. skip = blocks 跳过读…
揭开Linux操作系统的Swap交换区之谜 Swap,即交换区,除了安装Linux的时候,有多少人关心过它呢?其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要.通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用. Swap的原理是一个较复杂的问题,需要大量的篇幅来说明.在这里只作简单的介绍,在以后的文章中将和大家详细讨论Swap实现的细节. 众所周知,现代操作系统都实现了“虚拟内存”这一技术,不但在功能上突破了物理内存的限制,使程序可以操纵大于实际物理内存的空间…
Linux查看内存使用量和交换区使用量 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ free -m total used free shared buffers cached Mem: 3030 1690 1339 8 66 683 -/+ buffers/cache: 941 2089 Swap: 3904 0 3904 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ free --mega total use…
原文链接: https://blog.csdn.net/u014740338/article/details/66975550 问题描述 Linux内存使用量超过阈值,使得Java应用程序无可用内存,最终导致程序崩溃.即使在程序没有挂掉时把程序停掉,系统内存也不会被释放. 找原因的过程 这个问题已经困扰我好几个月了,分析过好多次都没有找到原因,网上查了一下该问题其他人也都遇到过,不过并没有什么好的解决方案,因为项目一直没有上线,每次当内存不足时导致程序崩溃都是重启服务就好了,索性也就没花太多的时…
如果你的服务器的总是报告内存不足,并且时常因为内存不足而引发服务被强制kill的话,在不增加物理内存的情况下,启用swap交换区作为虚拟内存是一个不错的选择,如果是SSD硬盘,正常读写速度都在300MB/s以上,启用swap后性能提高了不少,特别是在处理消耗大内存的脚本方面. 创建交换区原则:1.创建的swap交换区大小应该大于实际物理内存的容量大小,但是不要过大,以免造成硬盘空间浪费.2.如果内存IO请求频繁,而单一swap交换区IO队列等待时间过长的话,可以多创建几个swap交换区.3.原则…
如果你的服务器的总是报告内存不足,并且时常因为内存不足而引发服务被强制kill的话,在不增加物理内存的情况下,启用swap交换区作为虚拟内存是一个不错的选择,我购买的DigitalOcean VPS 512M内存基本不够用的,好在VPS的母鸡使用的SSD,正常读写速度都在300MB/s以上,启用swap后性能提高了不少,特别是在处理消耗大内存的脚本方面 创建交换区原则:1.创建的swap交换区大小应该大于实际物理内存的容量大小,但是不要过大,以免造成硬盘空间浪费.2.如果内存IO请求频繁,而单一…
swap空间有两种形式:一是交换分区,二是交换文件.总之对它的读写都是磁盘操作. linux内存通过 virtual memory 虚拟内存来管理整个内存, 虚拟内存管理着物理内存,也管理着swap交换空间. Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复…
Linux下可以创建两种类型的交换空间,一种是swap分区,一种是swap文件.前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕.例如:安装redhat的时候,你可以默认划分硬盘空间,交换区的大小事系统默认配置,当你安装完系统后需要安装一个oracle数据库,突然发出警告,交换空间不够.此刻该怎么办?1.查看交换分区的方式可以通过命令top,free命令查看当前的交换分区.也可以使用cat /proc/swaps查看交换分区2.如何通过swap文件扩充交换空间的…
一.SWAP 说明 1.1 SWAP 概述 当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中.这样,系统总是在物理内存不够时,才进行Swap交换. 这个是SWAP 交换分区的作用. 实际上,我们更关注的应该是SWAP分区的大小问题. 设置多大才是最优的. 一般来说可以按照如下规则设置swap大小…
Linux 交换分区swap 一.创建和启用swap交换区 如果你的服务器的总是报告内存不足,并且时常因为内存不足而引发服务被强制kill的话,在不增加物理内存的情况下,启用swap交换区作为虚拟内存是一个不错的选择,我购买的DigitalOcean VPS 512M内存基本不够用的:好在VPS的母鸡使用的SSD,正常读写速度都在300MB/s以上,启用swap后性能提高了不少,特别是在处理消耗大内存的脚本方面. 创建交换区原则: 创建的swap交换区大小应该大于实际物理内存的容量大小,但是不要…
Linux mkswap命令用于设置交换区(swap area). mkswap可将磁盘分区或文件设为Linux的交换区. 语法 mkswap [-cf][-v0][-v1][设备名称或文件][交换区大小] 参数: -c 建立交换区前,先检查是否有损坏的区块. -f 在SPARC电脑上建立交换区时,要加上此参数. -v0 建立旧式交换区,此为预设值. -v1 建立新式交换区.[交换区大小] 指定交换区的大小,单位为1024字节.…
Linux swapoff命令用于关闭系统交换区(swap area). swapoff实际上为swapon的符号连接,可用来关闭系统的交换区. 语法 swapoff [设备] 参数: -a 将/etc/fstab文件中所有设置为swap的设备关闭 -h 帮助信息 -V 版本信息 实例 显示分区信息: # sfdisk -l //显示分区信息 Disk /dev/sda: cylinders, heads, sectors/track Units = cylinders of bytes, bl…
XCode编译文件过多导致内存吃紧解决方法 /Users/~~/Library/Developer/Xcode/DerivedData 1) 然后 找到编译文件 删除 就好了哦 快去试试看吧…
mkswap /dev/sda* //创建此分区为swap 交换分区swapon /dev/sda* //加载交换分区swapoff /dev/sda* //关闭交换分区: 若想要开机自动挂载:vi /etc/fstab/dev/sda* swap swap defaults 0 0 或者把命令写入 /etc/rc.d/rc.local也行:swapon /dev/sda* 如果您的硬盘不能再分区,可以创建swap文件 [root@localhost beinan]# dd if=/dev/ze…
Linux kernel 的 sendfile 是如何提高性能的 现在流行的 web 服务器里面都提供 sendfile 选项用来提高服务器性能,那到底 sendfile 是什么,怎么影响性能的呢? sendfile 实际上是 Linux 2.0+ 以后的推出的一个系统调用,web 服务器可以通过调整自身的配置来决定是否利用 sendfile 这个系统调用. 先来看一下不用 sendfile 的传统网络传输过程: read(file, tmp_buf, len); write(socket, t…
Linux(Unix)密码策略问题导致root密码不能修改 发布时间:  2016-01-19 浏览次数:  1034 下载次数:  5 用户修改了密码配置文件,导致root账户修改密码时报如下错误: 登陆到FC上,找到对应的机器,VNC登陆系统 2.      登陆到系统后,进入密码策略配置目录下 a.      如果是Debian.Ubuntu 或 Linux Mint 系统,编辑vim /etc/pam.d/common-password 密码策略的配置一定要如下顺序显示: b.     …
前言 上述我们简单讲解了几个小问题,这节我们再来看看如标题EF Core中多次Include导致出现性能的问题,废话少说,直接开门见山. EntityFramework Core 3多次Include查询问题 不要嫌弃我啰嗦,我们凡事从头开始讲解起,首先依然给出我们上一节的示例类: public class EFCoreDbContext : DbContext { public EFCoreDbContext() { } public DbSet<Blog> Blogs { get; set…
原文电梯:https://blog.csdn.net/kebi007/article/details/68488694 echarts x轴标签文字过多导致显示不全 如图: 解决办法1:xAxis.axisLabel 属性 axisLabel的类型是object ,主要作用是:坐标轴刻度标签的相关设置.(当然yAxis也是一样有这个属性的)   axisLabel: { interval:, rotate: } 以上就可解决x轴文字显示不全并将文字倾斜.如图: 稍微解释一下 interval 坐…
基于335X平台Linux交换芯片驱动开发   一.软硬件平台资料 1.开发板:创龙AM3359核心板,网口采用RMII形式. 2.Kernel版本:4.4.12,采用FDT 3.交换芯片MARVELL的88E6321. 二.移植准备工作 1.熟悉88E6321的datasheet及Functional_Specification_Rev.0.05 2.熟悉设备树相关理论和用法 3.熟悉Linux网络驱动MDIO.PHY部分的软件流程 三.DTS文件修改 本工程的DTS文件以am335x-ice…
交换区域(Swap Area)有什么作用? 交换分区是操作系统在内存不足(或内存较低)时的一种补充.通俗的说,如果说内存是汽油,内存条就相当于油箱,交换区域则相当于备用油箱. Ubuntu Linux安装时可以在磁盘上划出一个分区用作内存交换区域.文件则介绍如何使用文件作为内存交换区域.这两种方法在使用效果上没有太大区别,但文件可以在分区之后创建,且调整大小更容易,所以这种方案更加灵活. 本文在Ubuntu上试验成功,在其他发行版操作类似. 原文地址:https://www.howtoforge…
作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2013/12/17/drop-caches-under-linux-system-2.html 前一篇文章里已经描述了具体遇到的问题及一些解决方法.但是还有些疑问点没有搞清楚,进一步学习了Linux系统下内存的分配使用机制,这里有两个资料讲的比较全面: Where is the memory going? Memory wa…
[问题] 最近有台服务器比较频繁的CPU报警,表现的特征有CPU sys占比偏高,大量慢查询,大量并发线程堆积.后面开发对insert的相关业务限流后,服务器性能恢复正常. [异常期间线程处理情况] 下图是当时生产环境异常时抓取的信息,该事务正在执行insert,已经执行5秒,线程运行在innodb内核,状态是thread declared inside InnoDB,还有4906 tickets可用 统计了下有64个线程在innodb层,同时看到还有280个线程在排队等待进入innodb线程,…
1. cd /sdzw/data/infogateftp/srcdata/ibp/account_rulelog ls | xargs  -t  -I  {}  mv {} /sdzw/data/infogateftp/srcdata/ibp/host/account_rulelog 2. find /sdzw/data/infogateftp/srcdata/ibp/host/account_rulelog/  -name  "*.bcp"  -exec mv {} /sdzw/da…
事故现象:机房一台服务器运行一段时间后,突然发现系统资源即将被耗尽! 1)top命令查看一下系统的cpu ram swap的使用情况 由上图分析,可以看出1--共有602个进程,但其中有601个进程休眠了.这就有点不对劲,这台服务器的内核进程也就80个左右,加上memcached, nginx, mysqld,也不会超出90个,除了这些,剩下的只有php-fpm管理的php-cgi了.2--CPU显示,CPU压力并不大,可以说没有压力.3--内存使用概要,发现4G的内存,消耗得所剩余无几(fre…
1. 查看磁盘 IO 性能 1.1 top 命令 top 命令通过查看 CPU 的 wa% 值来判断当前磁盘 IO 性能,如果这个数值过大,很可能是磁盘 IO 太高了,当然也可能是其他原因,例如网络 IO 过高等. top命令的其他参数代表的含义详见top命令详解 1.2 sar 命令 sar 命令是分析系统瓶颈的神器,可以用来查看 CPU .内存.磁盘.网络等性能. sar 命令查看当前磁盘性能的命令为: [root@server- Linux -.el7.x86_64 (server-) /…