一、相关概念简介

  • system call:系统调用
  • time slice:cpu时间片
  • O(1):Linux系统进程调度器
  • page frame:分页
  • RSS:常驻内存集,无法被页面化的数据
  • MMU:内存管理单元,维护线性地址空间和物理地址空间的映射表
  • TLB:转换后缓冲器
  • huge page:大页
  • NUMA:非一致内存访问,有多颗CPU,每颗CPU有自己的内存段,每段叫做一个node,建议进程做CPU亲缘性绑定

二、CPU内存调优

  • 调进程与CPU的亲缘性
# taskset -p mask pid
# taskset mask -- program
# taskset -c 0,,2-7 -- myprogram
# taskset -p -c 1 17947  #将pid为17947的进程绑定至第2颗CPU上,重启失效
  • 查看进程当前运行在哪颗CPU上
# ps axo psr,pid,cmd
  • cpu中断统计
# cat /proc/interrupts
  • numactl:对MUMA策略管理
  • 调整进程优先级:nice, renice
  • 隔离CPU,被隔离的CPU不会处理中断
# vim /etc/grub.conf
kernel ...... lsolcpus=1,2,3...
  • 调度类别:
SCHED_FIFO [0-99]
chrt -f [1-99] /path/to/program arguments
SCHED_RR
chrt -f [1-99] /path/to/program arguments
SCHED_NORMAL [100-139]
nice,renice
  • 0 - 139
1-99:实时优先级
100-139:动态优先级
  • 性能监控工具
htop
dstat
glances
sysdig
sar -P ALL 1 2
vmstat 1 5
iostat -c 1
  • 配置大页
vm.nr_hugepages = 10
  • 当前系统打开最大文件数
fs.file-max = 8192
  • 当前系统所以异步io允许的最大事件数
fs.aio-max-nr = 65535
  • OOM可调参数
vm.panic_on_oom = 0
/proc/pid/oom_adj [-16-15] #数字越高,被杀死的值越大,如果是-17则这个进程是无懈可击的

三、内存总结

nr_hugepages
swapiness
overcommit_memory

Linux调优(内存,CPU)的更多相关文章

  1. 于erlang依赖的linux调优

    [皇室]杭州-sunface(61087682) 上午 9:42:02 http://docs.basho.com/riak/latest/ops/tuning/linux/ 这篇文章对于erlang ...

  2. JVM 调优 内存调优 CPU 使用调优 锁竞争调优 I/O 调优

    Twitter 工程师谈 JVM 调优 2016年03月24日 10:22:30 wenniuwuren https://blog.csdn.net/wenniuwuren/article/detai ...

  3. (转)SQL Server 性能调优(cpu)

    摘自:http://www.cnblogs.com/Amaranthus/archive/2012/03/07/2383551.html 研究cpu压力工具 perfom SQL跟踪 性能视图 cpu ...

  4. sql server 性能调优之 CPU消耗最大资源分析1 (自sqlserver服务启动以后)

    一. 概述 上次在介绍性能调优中讲到了I/O的开销查看及维护,这次介绍CPU的开销及维护, 在调优方面是可以从多个维度去发现问题如I/O,CPU,  内存,锁等,不管从哪个维度去解决,都能达到调优的效 ...

  5. [转]SQL Server 性能调优(cpu)

      研究cpu压力工具 perfom SQL跟踪 性能视图 cpu相关的wait event Signal wait time SOS_SCHEDULER_YIELD等待 CXPACKET等待 CME ...

  6. LINUX调优

    一.Linux系统调优及安全设置 系统安装安全最小化原则说明 ◆安装linux系统最小化,即选包最小化,yum安装软件最小化. ◆开机自启动程序服务最小化,即无用的服务不开启. ◆操作命令最小化原则, ...

  7. linux查看占用内存/cpu最高的进程情况

    linux查看占用cpu最高的进程 ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head 或者top (然后按下M,注意这里是大写) linux查 ...

  8. 转 Linux调优方案,sysctl.conf的设置

    $ /proc/sys/net/core/wmem_max最大socket写buffer,可参考的优化值:873200 $ /proc/sys/net/core/rmem_max最大socket读bu ...

  9. Linux 调优方案, 修改最大连接数(ulimit命令)【转】

    转自:http://blog.csdn.net/liangxiaozhang/article/details/8363435 Linux对于每个用户,系统限制其最大进程数.为提高性能,可以根据设备资源 ...

随机推荐

  1. zoj1360/poj1328 Radar Installation(贪心)

    对每个岛屿,能覆盖它的雷达位于线段[x-sqrt(d*d-y*y),x+sqrt(d*d+y*y)],那么把每个岛屿对应的线段求出来后,其实就转化成了经典的贪心法案例:区间选点问题.数轴上有n个闭区间 ...

  2. Java中数学计算的相关方法

    1:Math类 2.BigInteger类  3.BigDecimal类 BigInteger bi = new BigInteger("12433241123"); BigDec ...

  3. FFmpeg 的sws_getContext函数 、sws_scale函数

    FFmpeg里面的sws_scale库可以在一个函数里面同时实现:1.图像色彩空间转换:2.分辨率缩放:3.前后图像滤波处理. 其核心函数主要有三个: // 初始化sws_scalestruct Sw ...

  4. 使用WindowsAPI获取录音音频的方法

    这篇文章主要介绍了使用WindowsAPI获取录音音频的方法,非常实用的功能,需要的朋友可以参考下 本文实例介绍了使用winmm.h进行音频流的获取的方法,具体步骤如下: 一.首先需要包含以下引用对象 ...

  5. 【转】 Pro Android学习笔记(六八):HTTP服务(2):HTTP POST

    目录(?)[-] 找一个测试网站 HTTP POST小例子 上次学习了HTTP GET请求,这次学习一下HTTP POST. 找一个测试网站 小例子好写,但要找个测试网站就有些麻烦,一下子无从入手,都 ...

  6. DCloud-MUI:文档 UI组件

    ylbtech-DCloud-MUI:文档 UI组件 1.返回顶部 1.accordion(折叠面板) 折叠面板从二级列表中演化而来,dom结构和二级列表类似,如下: <ul class=&qu ...

  7. [MySQL]关于Com_状态

    MySQL 5.5官方文档: http://dev.mysql.com/doc/refman/5.5/en/server-status-variables.html#statvar_Com_xxx C ...

  8. 如何将OpenTSDB源码导入eclipse

    OpenTSDB的官网上介绍了如何将OpenTSDB源码导入eclipse,官方链接,但步骤超级繁琐,还有一个简便方法,下面以导入OpenTSDB2.0.0为例. 1. 下载OpenTSDB2.0.0 ...

  9. 3 K8s安裝ELK+filebeat

    1 Filebeat: apiVersion: v1 kind: Service metadata: name: XX spec: ports: - name: http port: targetPo ...

  10. Ruby环境搭建与“Hello World”

    Ruby的环境搭建比较简单,在http://rubyinstaller.org/downloads/可以得到Ruby的安装包, 安装过程没什么问题.安装完成之后需要配置一下环境变量: 在PATH中填入 ...