早上到单位 发现服务器 mysql 服务器停了 然后起来了 查询日志 显示 内存满了 把mysql服务给杀了 linux 服务器如果 内存满了 会自动清理进程 防止服务器挂掉 选择的话 谁占的的内存大 就先杀谁 我的服务器里面 mysql服务占的内存是最大的 所以就把mysql就给杀了 image.png 然后 重启mysql 查询内存 image.png 在这说一下 怎么看linux的内存 举个例子 空闲的内存数: 232M shared 当前已经废弃不用,总是0 buffers Buffer 缓存内存数: 62M cached Page 缓存内存数:421M 关系:total(1002M) = used 记住内存是拿来用的,不是拿来看的.不象windows, 无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分的时候 ,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常 swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦
Typecho博客系统显示服务器占用内存的插件,代码很简单,这插件作者是12年写的,我用了已经不能用,我通过自学的一丢丢的PHP基础,简单的整理了一下,又能用了,奇怪的知识又涨了 插件截图 调用代码
收拾一下心情,开车回公司拿硬盘,翻了半天也没有512G固态,这大礼拜天的,到哪儿去拿个intel 512G固态啊,算了算了,拿个500G机械硬盘先顶上吧,读写速度是有点跟不上,但是至少有个硬盘能充当Hot 可能性不大啊,因为不开远程桌面的时候,操作系统正常,ERP软件也都正常啊,难道是内存错误?重启服务器,进入硬件检测界面,检测内存。。。 刚检测10分钟,还没出报告呢,客户急急忙忙跑到机房,要求ERP不能中断,仓库正在收发货,产线等料下线,好吧,只能放弃检测,打开服务器机箱盖,把4条内存拔下来放手里摸了一遍,其中两条温度明显高一些,烫手, 果断不插回去,只用两条内存开机。。。 128G内存,跑得溜溜的,一个多月过去了,没啥问题,嘿嘿。 万万没想到:微软远程桌面黑屏的元凶,竟然是内存!
这几天自己线上的乞丐服务器遇到一个问题,io会瞬间飙升到很高很高,造成内存使用飙升。但是实际上并发量并不大(网络连接数)。知道是哪个进程造成的,但是确实排查代码中没有是么地方会有这么大的读写。 也不知道对方到底发的什么数据导致这么大的内存占用。 之前也处理过类似的问题。麻烦之处在于很好的定位问题,重现实际的操作。没办法,只能针对socket服务特定的端口进行抓包。 服务器问题,无非就是资源不合理的使用,造成服务器内存,cpu,io,流量等相关资源出现非常不正常的波动,资源使用率飙升。对于服务器性能问题的排查,没有其他比较好的办法,只能是通过重现复盘去改进。 特别是如果服务器上跑的东西比较多,一个个的排查相当痛苦。 出现问题,首先看日志。如果是线上的,先想办法恢复服务再排查。 看看登录日志,访问日志是否有异常,确定是否有人扫机器。
), 本篇转载了阿里云服务器启用虚拟内存-Ubuntu 阿里云服务器默认没有开启虚拟内存,经常遇到软件内存不足,运行崩溃的情况。 为了减少购买昂贵的内存资源,可以暂时使用虚拟内存代替(根据运行的程序需求,性能会降低一些)。 这个技术在云服务器上使用,可以省很多银子的哦!!! 阿里云服务器默认没有swap,需要自己mkdir /swap创建。 swapoff -v /swap/swapadd mv /swap/swapadd /mnt/swap swapon /swap/swapadd 嗯,这个技术在云服务器上使用,可以省很多银子的哦!!! 原文: 阿里云服务器启用虚拟内存-Ubuntu
最近我就接到一个粉丝咨询,说他想处理一个公共数据集,只有8个原位肿瘤+3个转移肿瘤的10X单细胞转录组样品,但是数据处理的过程发现系统提示说需要5Tb内存,虽然说他自己有一个512G内存的服务器,但是也承受不起 5Tb内存,问我有没有渠道! 额,给他配置一个5Tb内存服务器倒是简单,我自己就有2.5T内存的服务器,不就是加倍嘛!不过,我注意到他就是11个10X转录组样品,理论上不可能是需要5Tb内存的,所以让他把代码发过来我检查看看. 太有意思了,为什么我想讲解这个故事呢,因为在很多交流群都看到有粉丝问内存不够,实际上很多情况下,内存不够是因为你代码学的很差。 如果你连512G内存都没有呢? 临时使用的话,可以考虑我们的共享云哦! 见:共享云服务器又又又又又来了(只有50个名额)
有幸当前工作能够接触到SAP S/4,能够接触到史上无敌的HANA内存数据库。HANA的技术我就不多讲了,感兴趣的人可以去百度一下。 当然,有人想在本机安装HANA来学习,但前提是你得有128G内存以上才可以。一般HANA设备的内存都是512G,甚至1T的。记住,是内存,不是硬盘!所以性能杠杠的。 安装之后打开程序,添加系统: [图片] 输入HANA服务器的地址和实例号,以及描述: [图片] 下一步,输入账号和密码: ? 完成之后,高大上的HANA服务器就添加完毕了,在左侧服务器列表可以看到: ? 从上图可以看到新添加的服务器。
MONGODB的性能与内存的关系可以用三条线来描述 1 FREE MEMORY 2 Response time 3 swap 用语言来描述,如果你的MONGODB所在的服务器上开始使用了SWAP, 所以当你看到你的MONGODB 的服务器的 USED SWAP 开始逐步上升,并且你的MONGODB 的相应时间在逐渐的变慢,那么性能问题就已经爆发了。 而当你的内存已经都在512G的时候,此时你还咬文嚼字的去说,50%,也未免太保守了。 因为原理,MONGODB 的数据库的原理,希望MONGODB 能获得更大的内存,MONGODB的 写 读 SNAPSHOT 等等都离不开内存,所以如果你有 512G 的时候,不妨可以大胆的将60% ,超过5% 说明你的服务器的压力过大,脏页的驻留时间过长,所以你就需要注意你的系统压力的情况了。
记录线上服务器通过linux性能检测工具glances检测到 cpu、内存爆满,且是uwsgi进程占用,对于服务器内核,以及uwsgi配置优化 参考文章 https://blog.csdn.net/orangleliu
小知识解说 1)CPU型号越高,主频、睿频、核数、L3缓存、功耗越高 2)CPU型号越高,支持的内存频率、容量、通道越大 3)CPU型号越高,UPI数量从2-3-4,互联数量从2-4-8 4)入门级CPU 4)上图为UPI=3,八个CPU互联;对应8路机型 4.内存参数表 ? 小知识解说: 1)目前DDR3基本已经淘汰,DDR4是主流;DDR5已经面世 2)电压越小功耗越低 3)频率越高,速度越快 4)同等容量下且不考虑后续扩容,内存条数越多性能越好(条数多利用的通道多)
使用腾讯云服务器也有一段时间了,不过由于对Linux知识了解的比较少,加上服务器稳定性一直都比较好的,所以便很少去折腾服务器。 直到最近,站点时常打不开,查了很久的原因,才发现是内存不够导致的~ 用命令free查看内存使用情况,发现swap分区大小为0,原来腾讯云主机默认是没有划分swap分区的。 所以由于我的服务器物理内存本身就很少,而且又没设置swap分区,运行效果可想而知,稍有点并发量、或者恶意用户探测访问等,网站就很容易卡壳了。 swap是用来做虚拟内存的。 虽然swap无法代替物理内存,但不可缺少。 swap分区作用:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。 这样,系统总是在物理内存不够时,才进行Swap交换。 建立swap的两种方法 建立分区; 创建交换文件。 运行速度: 物理内存 > swap分区 > swap文件。
Linux服务器运行一段时间后,由于其内存管理机制,会将暂时不用的内存转为buff/cache,这样在程序使用到这一部分数据时,能够很快的取出,从而提高系统的运行效率,所以这也正是Linux内存管理中非常出色的一点 ,所以乍一看内存剩余的非常少,但是在程序真正需要内存空间时,Linux会将缓存让出给程序使用,这样达到对内存的最充分利用,所以真正剩余的内存是free+buff/cache 但是有些时候大量的缓存占据空间 ,这时候应用程序回去使用swap交换空间,从而使系统变慢,这时候需要手动去释放内存,释放内存的时候,首先执行命令 sync 将所有正在内存中的缓冲区写到磁盘中,其中包括已经修改的文件inode、已延迟的块 echo 3 > /proc/sys/vm/drop_caches 执行完之后,再次查看内存剩余: 会发现内存被释放了,可用内存变为653M左右。 到这里内存就释放完了,现在drop_caches中的值为3,另外需要注意的是,在生产环境中的服务器我们不要频繁的去释放内存,只在必要时候清理内存即可,更重要的是我们应该从应用程序层面去优化内存的利用和释放
云服务器一般默认禁止虚拟内存,我们可以通过 shell 快速开启虚拟内存。 bs=1M count=4096 表示创建一个4G(1M*4096)大小的块文件。 swappiness=0 表示最大限度使用物理内存,然后才是swap空间。 swappiness=100 表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。 # 创建虚拟内存文件 dd if=/dev/zero of=/mnt/swap bs=1M count=4096 chmod 0600 /mnt/swap mkswap /mnt/swap swapon grep -q swap /etc/fstab; then echo "/mnt/swap swap swap defaults 0 0" >> /etc/fstab fi # 设置虚拟内存使用率
DELL R710 服务器内存排错 dmidecode - DMI table decoder 通过dmidecode可以得知,有点像windows下的资源管理器 man dmidecode 可以得到详细的介绍和使用方法 可以在linux下获取有关硬件方面的信息输出的信息包括 BIOS、系统、主板、处理器、内存、缓存等,rhel5版本自动安装了这软件 今天查看内存突然发现内存大小少了8G(本来应该是8个8G的),要是以前我会找 DELL工程师来检查时那根坏了,再更换之,DELL工程师一般是重启服务器再BIOS自检时找出那一条坏了。 A1-A9,B1-B9 18个通道,其中A1-A8上插了内存条,据我所知,服务器内存条是三通道,这种插发并不是DELL推荐插法, 这个后续我会提供DELL服务器内存插法图,其中A6上面看不到内存信息,而其他的有 R710内存插法: X-表示安装内存, NA表示不安装内存.
从系统架构来看,服务器的CPU和内存架构可以分三类: SMP :Symmetric Multi-Processor NUMA :Non-Uniform Memory Access MPP :Massive 1.早期的服务器:SMP ? 最早的服务器都是一颗CPU,随着业务压力的增大,面临CPU不够的境况。怎么办?简单粗暴的办法就是:架构不动,在现有架构上加CPU即可。 ? 两颗CPU的地位是平等的,共享内存总线;导致CPU0使用内存的时候,CPU1就得等待。两颗CPU的情况还马马虎虎能过得去,随着CPU数量的增大,CPU总线越来越成为瓶颈。怎么办? 2.现在的服务器:NUMA ? ? ? NUMA解决了SMP架构内存总线的瓶颈,确保每个CPU都有自己的私有内存和内存总线;如果本CPU的内存不够怎么办? 任何事情都不可能十全十美,NUMA也有自己的问题,尤其是在数据库和虚拟化场景下的某些情况会有性能问题:1.跨CPU访问内存(即和别的CPU借内存)比访问本CPU的内存效率要低 2.会出现内存和CPU访问失衡问题
JAVA统计服务器资源(cpu,内存,磁盘)–LINUX 使用类: com.sun.management.OperatingSystemMXBean 继承:java.lang.management.OperatingSystemMXBean 自从: 1.5 修饰符和类型 方法 描述 long getCommittedVirtualMemorySize() 返回保证对正在运行的进程可用的虚拟内存量(以字节为单位,或者-1如果不支持此操作 long getFreePhysicalMemorySize() 返回以字节为单位的可用物理内存量。 long getFreeSwapSpaceSize() 返回以字节为单位的可用交换空间量。 ong getTotalPhysicalMemorySize() 返回以字节为单位的物理内存总量。 long getTotalSwapSpaceSize() 返回以字节为单位的交换空间总量。 = osmxb.getFreePhysicalMemorySize(); System.out.println("空闲物理内存:" + freePhysicalMemorySize /
之前文章《Linux服务器性能评估与优化(一)》太长,阅读不方便,因此拆分成系列博文: 《Linux服务器性能评估与优化(一)--CPU》 《Linux服务器性能评估与优化(二)--内存》 《Linux 服务器性能评估与优化(三)--磁盘i/o》 《Linux服务器性能评估与优化(四)--网络》 《Linux服务器性能评估与优化(五)--内核参数》 我们通过top或者ps -aux查看应用实际占用的内存和虚拟内存 当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。是计算机系统内存管理的一种技术。 /系统物理内存>70%时,表示系统内存资源非常充足,不影响系统性能,应用程序可用内存/系统物理内存<20%时,表示系统内存资源紧缺,需要增加系统内存,20%<应用程序可用内存/系统物理内存<70%时,表示系统内存资源基本能满足应用需求 swap si列表示由磁盘调入内存,也就是内存进入内存交换区的数量。 so列表示由内存调入磁盘,也就是内存交换区进入内存的数量。
前言 功能大家都能实现,服务器性能优化可以提供用户体验,公司上个游戏是用C++写的pc端游,玩家多时服务器可能出现内存溢出的情况,现在做手游吸取经验做了不少优化 数据结构 玩家数据基本在player用户表 ,其余帮派、宠物、物品、活动管理,服务器配置等表 优化内存数据 服务器优化主要是内存优化,提高内存使用效率,不仅只是游戏,web项目优化没做好,有时页面交互卡个几秒,优化用户体验是很重要的 优先读内存 这个大家都知道,内存中有数据读取内存,内存中没数据读数据库 GePlayer(id)--获取内存中players是否存在,没有返回空 GoGePlayer(id)--获取内存中players是否存在,没有则查找数据库返回对象 内存数据分为用户数据和服务器数据 用户登出数据清理 当用户触发登出事件,数据直接入库保存,然后从内存中删除 尽量只操作在线用户 内存中存在数据即服务器数据和当前在线用户数据,服务器数据例如排行榜,只会由在线玩家操作触发变更 客户端本地处理 客户端能处理的可以交由客户端,服务器的数据处理是每个用户都要判定,而客户端数据在本地,只用单个用户判定,减轻服务器压力 这是我最近项目优化的处理方法,大家有什么好想法可以一起分享
CPU的情况 top top 命令是监视 Linux 中实时系统进程的基本命令之一,显示系统信息和正在运行的进程信息,如:正常运行时间,平均负载,正在运行的任务,登录的用户数,CPU利用率,MEM利用率,内存和交换信息 2、查看内存总容量 # /proc/meminfo统计的是系统全局的内存使用状况 cat /proc/meminfo # MemTotal: 总的物理内存,需要转换一下 # MemFree: 空闲内存 ,表示系统尚未使用的内存 2.1)通过free来显示内存的使用情况 free free -m free -g # 默认不加参数就是以 KB 为单位显示结果, # 可以加-m,显示内存总量,以 MB 为单位显示结果, # 可以加-g,显示内存总量,以 GB 为单位显示结果。
云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。 腾讯云服务器(CVM)为您提供安全可靠的弹性云计算服务。只需几分钟,您就可以在云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。
扫码关注腾讯云开发者
领取腾讯云代金券