[转帖]Linux 性能优化和内核观测 - CPU 篇(一)

https://blog.51cto.com/hongchen99/5840053 简介 中央处理器(central processing unit,简称 CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。所有的计算机程序都运行在CPU之上,在大多数情况下CPU都是性能分析

[转帖]利用BCC Tools追踪指定PID进程的方法

http://t.zoukankan.com/Emuaer-p-EmuaBCCTools3.html 想法的产生 通过熟悉许多BCC tools后,我们可以通过一些工具的组合,来实现一些定向的进程追踪 execsnoop跟踪新进程创建,跟踪exec函数。 bashreadline打印系统中所有bas

[转帖]自己常用的一些shell脚本分享

https://www.jb51.net/article/54488.htm 这篇文章主要介绍了自己常用的一些shell脚本分享,包含20多个脚本实例,需要的朋友可以参考下 自己写了一下小的shell实例,虽然很小,但所有的大的程序都是由小的模块堆积起来的,程序员一定要懂得一种脚本的书写,而我,只会

[转帖]Nginx更改日志格式为json

https://www.cnblogs.com/lizexiong/p/14989934.html 这里只是简单记录一下主配置文件中的format格式,因为在配置过程中一直不生效,最后发现是因为配置尾部没有加 ; 号导致,所以这里简单做一个记录。 #/etc/nginx/nginx.confuser

[翻译]-hugePage的简要说明--部分内容

hugePage的简要说明 本篇文档的主旨给linux内核支持的大页内存做一个简要的概述. 大页内存的实现是建立在大多数现代架构所都支持的多级页大小的特性之上的. 举例: x86架构下大部署CPU 的页面大小是4KB 或者是 2MB. 部分新的CPU支持1GB的页面大小. IA64的架构支持 4K,

[转帖]fs-max、file-nr和nofile的关系

https://www.cnblogs.com/ermazi/p/7843632.html 1. file-max /proc/sys/fs/file-max:这个文件决定了系统级别所有进程可以打开的文件描述符的数量限制,如果内核中遇到VFS: file-max limit rea

[转帖]高手总结的9种 OOM 常见原因及解决方案

https://zhuanlan.zhihu.com/p/79355050 当 JVM 内存严重不足时,就会抛出 java.lang.OutOfMemoryError 错误。本文总结了常见的 OOM 原因及其解决方法,如下图所示。如有遗漏或错误,欢迎补充指正。 1、Java heap space 当

[转帖]Prometheus的Exporter详解

https://www.cnblogs.com/lizexiong/p/15578427.html 导航:这里主要是列出一个prometheus一些系统的学习过程,最后按照章节顺序查看,由于写作该文档经历了不同时期,所以在文中有时出现 的云环境不统一,但是学习具体使用方法即可,在最后的篇章,有一个完

[转帖]Java IO篇:序列化与反序列化

1、什么是序列化: 两个服务之间要传输一个数据对象,就需要将对象转换成二进制流,通过网络传输到对方服务,再转换成对象,供服务方法调用。这个编码和解码的过程称之为序列化和反序列化。所以序列化就是把 Java 对象变成二进制形式,本质上就是一个byte[]数组。将对象序列化之后,就可以写入磁盘进行保存或

[转帖]MAXDOP(max degree of parallelism)

https://www.cnblogs.com/jenneyblog/p/MAXDOP.html 概述 当 SQL Server 在具有多个微处理器或 CPU 的计算机上运行时,它将为每个并行计划执行检测最佳并行度(即运行一个语句所使用的处理器数)。您可以使用 max degree of paral

[转帖]linux中使用script和scriptreplay进行命令操作录制与重放

https://cloud.tencent.com/developer/article/2015118 scriptreplay 用于在终端中,根据 script 命令记录的终端数据文件和时间日志文件,重现当时用户的所有操作和命令的输出信息。简而言之,重现播放当时终端会话发生的一切信息,而不是重新运

[转帖]Java IO篇:序列化与反序列化

1、什么是序列化: 两个服务之间要传输一个数据对象,就需要将对象转换成二进制流,通过网络传输到对方服务,再转换成对象,供服务方法调用。这个编码和解码的过程称之为序列化和反序列化。所以序列化就是把 Java 对象变成二进制形式,本质上就是一个byte[]数组。将对象序列化之后,就可以写入磁盘进行保存或

[转帖]KVM与ESXi 对比

关于KVM KVM,深受开源、国产虚拟化、云计算厂家欢迎,费用可以无视,可定制,配合的开源云管平台很丰富,但是对入门用户不友好,第三方工具不够多,无代理备份方式受限于KVM所选择的Linux发行版本,导致各个版本的第三方工具支持力度不高。大厂喜欢,企业用户不喜欢。 关于Vmware ESXi,商业版

[转帖]JVM内存非典型术语介绍(shallow/retained/rss/reserved/committed)

https://www.jianshu.com/p/871d6bb3a32d 背景 ​ 在服务器性能优化内存这一项时,有一些现象很诡异。如top显示的RES很大,但是实际jvm堆内存占用很小,同时使用nmt发现committed更大。所以决定写这篇wiki大概介绍一下 JVM中如何计算一个对象的实际

[转帖]MALLOC_ARENA_MAX=1 与 MALLOC_ARENA_MAX=4有什么区别?

https://www.easyice.cn/archives/341 2019年 Elastic开发者大会的时候我曾经说过 glibc 导致的堆外内存过多问题: 如果应用程序每次分配内存的时候都通过系统调用 mmap,sbrk等来分配,效率会很低,所以glibc 中实现了一个内存池,应用程序使用内

[转帖]JVM系列之:你知道Java有多少种内存溢出吗

本文为《深入学习 JVM 系列》第二十五篇文章 Java内存区域 关于这部分内容大多来源于《深入理解Java虚拟机》一书。 Java 运行时数据区域(JDK8)如下图所示: 关于上述提到的线程共享和线程隔离区域,下图做详细讲解: 程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的

[转帖]JVM参数:-XX:ReservedCodeCacheSize

通过笨神的分享整理笔记: 这个参数主要设置codecache的大小,比如我们jit编译的代码都是放在codecache里的,所以codecache如果满了的话,那带来的问题就是无法再jit编译了,而且还会去优化。因此大家可能碰到这样的问题:cpu一直高,然后发现是编译线程一直高(系统运行到一定时期)

[转帖]啃碎并发(11):内存模型之重排序

https://juejin.cn/post/6844903702327721992 0 前言 在很多情况下,访问一个程序变量(对象实例字段,类静态字段和数组元素)可能会使用不同的顺序执行,而不是程序语义所指定的顺序执行。具体几种情况,如下: 编译器 能够自由的以优化的名义去改变指令顺序; 在特定的

[转帖]测试工具 sysbench (Centos 7.x) for DM数据库

1、简单介绍 sysbench是一个开源,模块化的多线程性能测试工具,可以用来进行硬件环境性能测试,也可进行数据库的性能测试。但是由于需要支持DM测试,所以我们一般使用源码进行编译。 2、运行方法 sysbench通过运行lua脚本进行数据库测试。而每次测试都分为prepare、run、cleanu

[转帖]cpu上下文切换

https://www.jianshu.com/p/280778660ffc cpu上下文切换,就是先把前一个任务的cpu上下文(cpu寄存器和程序计数器)保存起来,然后加载新任务的上下文到这些寄存器和程序计数器,最后跳转到程序计数器所指的新位置,运行新任务。根据任务的不同,cpu上下文切换可以分为