- 博客(26)
- 资源 (28)
- 收藏
- 关注
原创 十九、Linux性能优化实战学习笔记- 为什么系统的Swap变高了?
1、缓存和缓冲区,就属于可回收内存。它们在内存管理中,通常被叫做文件页(File-backed Page),此外除了缓存和缓冲区,通过内存映射获取的文件映射页,也是一种常见的文件页。它也可以被释放掉,下次再访问的时候,从文件重新读取。2、大部分文件页,都可以直接回收,以后有需要时,再从磁盘重新读取就可以了。而那些被应用程序修改过,并且暂时还没写入磁盘的数据(也就是脏页),就得先写入磁盘,然后才能进行内存释放系统调用 fsync ,把脏页同步到磁盘中。
2020-08-15 18:02:57 892 2
原创 深入剖析Kubernetes学习笔记-06 | 白话容器基础(二):隔离与限制
被限制的进程的 PID 写入 container 组里的 tasks 文件,上面的设置就会对该进程生效了:一、为什么选择容器而不是虚拟机使用虚拟化技术作为应用沙盒,就必须要由 Hypervisor 来负责创建虚拟机,这个虚拟机是真实存在的,并且它里面必须运行一个完整的 Guest OS 才能执行用户的应用进程。这就不可避免地带来了额外的资源消耗和占用。1.1 虚拟机所耗费的资源一个运行着 CentOS 的 KVM 虚拟机启动后,在不做优化的情况下,虚拟机自己就需要占用 100~200 MB 内存
2020-08-31 22:44:06 511
原创 深入剖析Kubernetes学习笔记-05 | 白话容器基础(一):从进程说开去
一、概述理解容器的几个基本点容器技术的兴起源于 PaaS 技术的普及; Docker 公司发布的 Docker 项目具有里程碑式的意义; Docker 项目通过“容器镜像”,解决了应用打包这个根本性难题。 容器本身没有价值,有价值的是“容器编排”因此容器技术生态才爆发了一场关于“容器编排”的“战争”。而这次战争,最终以 Kubernetes 项目和 CNCF 社区的胜利而告终二、容器是什么?2.1 “沙盒”容器其实是一种沙盒技术。顾名思义,沙盒就是能够像一个集装箱一样,把你的应用
2020-08-30 22:15:02 442
原创 关于GP 主进程被OSkill的一些想法
一、OS 内存告急前后大概发生了两次master 进程被OS kill的情况,第一次发生时从dmesg中看到有Process /opt/greenplum/greenplum-db-4.0 /bin/postgres was killed by signal 6 (SIGABRT)page allocation failure. order:1, mode:0x20 可以看出来是GFP_ATOMIC类型的申请,且order = 1(page = 2 )详细过程参见二、分析原因.
2020-08-27 17:24:08 221
转载 Linux系统内存知识总结
目录一、走进 linux 内存二、 linux 内存地址空间三、 Linux 内存分配算法四、 内存使用场景五、 内存使用那些坑Linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定性。本文主要介绍 Linux 内存组织结构和页面布局,内存碎片产生原因和优化算法,linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。从内存的原理和结构,到内存的算法优化,再到使用场景,去探寻内存管理的机制和奥秘。一、走进 linux 内
2020-08-27 15:08:41 208
原创 为什么会有docker?Docker 是什么?
一、为什么会有docker?PaaS 项目被大家接纳的一个主要原因,就是它提供了一种名叫“应用托管”的能力。在当时,虚拟机和云计算已经是比较普遍的技术和服务了,那时主流用户的普遍用法,就是租一批 AWS 或者 OpenStack 的虚拟机,然后像以前管理物理服务器那样,用脚本或者手工的方式在这些机器上部署应用。当然,这个部署过程难免会碰到云端虚拟机和本地环境不一致的问题,所以当时的云计算服务,比的就是谁能更好地模拟本地服务器环境,能带来更好的“上云”体验。而 PaaS 开源项目的出现,就是当时解决.
2020-08-20 22:54:35 615
转载 Docker容器和镜像的区别
目录一、什么是镜像?1.1 Image Layer(镜像层)1.2 Image(镜像,只读层的集合)二、什么是容器?2.1 Container(容器,一层读写层+多层只读层)2.2 Running Container(运行态容器,一层读写层+多层只读层+隔离的进程空间和包含其中的进程)三、总结在学习使用docker过程中会遇到镜像和容器,两者之间的区别是什么?有什么关联?本文将用图文并茂的方式介绍容器、镜像的区别,能够很好的帮助各位深入理解Docker。
2020-08-20 22:15:35 1475
原创 docker常用命令
重启docker服务sudo service docker restart 关闭docker服务dockerservice docker stop 开启docker服务dockerservice docker start 查看当前运行的容器:docker ps 查询存在的容器:docker ps -a 删除容器:docker -rmCONTAINERID 强制删除容器:docker -rm -f CONTAINERID 不能够删除一个正在运行的容器,会报错。需要先停止...
2020-08-20 22:13:43 254
原创 二十三、Linux性能优化实战学习笔记-Linux 文件系统是怎么工作的?
一、文件系统-索引节点和目录项Linux 文件系统为每个文件都分配两个数据结构,索引节点(indexnode)和目录项(directory entry)。它们主要用来记录文件的元信息和目录结构。1、索引节点简称为 inode,用来记录文件的元数据,比如 inode 编号、文件大小、访问权限、修改日期、数据的位置等。索引节点和文件一 一对应,它跟文件内容一样,都会被持久化存储到磁盘中。所以记住,索引节点同样占用磁盘空间。2、目录项简称为 dentry,用来记录文件的名字、索引...
2020-08-19 16:29:24 520
原创 Linux 裸I/O
第一次听到这个词,当然也是一脸懵.裸I/O 是什么东西呢?裸I/O又称为直接I/O和非直接I/O相反,这不是“”废话“”么?可是书上还真是这么写的。究竟是什么呢?直接 I/O(裸I/O),是指跳过操作系统的页缓存,直接跟文件系统交互来访问文件。非直接 I/O 正好相反,文件读写时,先要经过系统的页缓存,然后再由内核或额外的系统调用,真正写入磁盘。磁盘是一个存储设备(确切地说是块设备),可以被划分为不同的磁盘分区。而在磁盘或者磁盘分区上(lvm是直接可以基于磁盘直接做成lv的),还可
2020-08-17 21:45:49 831
原创 二十一、Linux性能优化实战学习笔记- 如何“快准狠”找到系统内存的问题?
目录一、内存性能指标二、进程内存的使用1、虚拟内存2、常驻内存3、共享内存4、swap内存5、缺页异常三、工具四、迅速分析内存的性能瓶颈1、思路逻辑图2、优化思路一、内存性能指标已用内存、剩余内存、共享内存、可用内存、缓存和缓冲区的用量。共享内存是通过 tmpfs 实现的,所以它的大小也就是 tmpfs 使用的内存大小。tmpfs其实也是一种特殊的缓存缓存分两部分:读取文件的页缓存,用来缓存从磁盘读取的数据,可以加快以后再次访问的速度 .
2020-08-17 21:06:37 274
转载 PostgreSQL Freeze 风暴预测续 - 珍藏级SQL
目录背景观测SQL统计SQL明细SQL小结视图1 (v_freeze) :视图2 (v_freeze_stat) :视图3 (v_freeze_stat_detail) :流程附录背景PostgreSQL 目前默认的存储引擎,事务可见性需要依赖行头的事务号,因为事务号是32位的,会循环使用。在一条记录产生后,如果再次经历了20亿个事务,必须对其进行freeze,否则数据库会认为这条记录是未来事务产生的(可见性判断)。因此FREEZE操作是数据库在32.
2020-08-17 13:50:16 620
原创 二十、Linux性能优化实战学习笔记- 为什么系统的Swap变高了?
一、swap 案例测试swap分区已在系统安装初期已经分配了swap分区。[root@MiWiFi-R3L-srv opt]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsdb 8:16 0 4G 0 disk sr0 11:0 1 4.4G 0 rom /run/media/root/CentOS 7 x86_64sda
2020-08-16 22:13:45 635
转载 GreenPlum UDF 完成UPSERT
目录单行模式1、测试表2、upsert动态函数3、测试使用UPSERT动态函数,将数据upsert到test表压测(直连segment压测)小结多行模式1、batch 函数如下2、测试3、压测4、压测结果,吞吐确实好一点Greenplum目前的版本较老,(4.3的版本对应的PG是8.2的版本),所以没有办法使用CTE来实现UPSERT。单行模式用户把要输入的数据拼装成JSON或JSONB,在函数中解开,生成动态SQL pg_catalog | j
2020-08-12 15:39:40 1974
转载 PostgreSQL on Linux 最佳部署手册 - 珍藏级
目录背景OS与硬件认证检查安装常用包配置OS内核参数配置OS资源限制配置OS防火墙selinux关闭不必要的OS服务部署文件系统设置SSD盘的调度为deadline关闭透明大页、numa编译器icc, clang编译PostgreSQL初始化数据库集群配置postgresql.conf配置pg_hba.conf启动数据库背景数据库的安装一直以来都挺复杂的,特别是Oracle,现在身边都还有安装Oracle数据库赚外快的事情.
2020-08-12 15:17:08 593
转载 深入理解文件系统
目录4.1 文件系统的组成部分4.1.1 block的出现4.1.2 inode的出现4.1.3 bmap出现4.1.4 inode表的出现4.1.5 imap的出现4.1.6 块组的出现4.1.7 块组的划分4.2 文件系统的完整结构4.2.1 引导块4.2.2 超级块(superblock)4.2.3 块组描述符表(GDT)4.2.4 保留GDT(Reserved GDT)4.3 Data Block4.3.1 目录文件的data blo.
2020-08-11 22:32:42 1089
原创 十八、Linux性能优化实战学习笔记- 内存泄漏了,我该如何定位和处理?
当进程通过 malloc() 申请虚拟内存后,系统并不会立即为其分配物理内存,而是在首次访问时,才通过缺页异常陷入内核中分配内存.对应用程序来说,动态内存的分配和回收,是既核心又复杂的一个逻辑功能模块。管理内存的过程中,也很容易发生各种各样的“事故”.一、内存的分配和回收及存在的泄漏点1.1 栈上的内存分配与回收在程序中定义了一个局部变量,比如一个整数数组 int data[64] ,就定义了一个可以存储 64 个整数的内存段。由于这是一个局部变量,它会从内存空间的栈中分配内存。栈...
2020-08-11 17:35:23 425
转载 ansible-playbook 运维
为什么引入playbook?一般运维人员完成一个任务, 比如安装部署一个httpd服务会需要多个模块(一个模块也可以称之为task)提供功能来完成。而playbook就是组织多个task的容器,它的实质就是一个文件,有着特定的组织格式,它采用的语法格式是YAML(Yet Another Markup Language)。YAML语法能够简单的表示散列表,字典等数据结构。简单来说,playbook是由一个或多个模块组成的,使用多个不同的模块,完成一件事情。Ansible核心功能- pyYAML用...
2020-08-10 22:30:55 1066
原创 十七、Linux性能优化实战学习笔记-如何利用系统缓存优化程序的运行效率?
从读写角度看buffer 和cache的好处Buffer 和Cache 的设计目的,是为了提升系统的 I/O 性能。它们利用内存,充当起慢速磁盘与快速CPU 之间的桥梁,可以加速 I/O 的访问速度。Buffer 和 Cache 分别缓存的是对磁盘和文件系统的读写数据。从写的角度来说,不仅可以优化磁盘和文件的写入,对应用程序也有好处,应用程序可以在数据真正落盘前,就返回去做其他工作。 从读的角度来说,不仅可以提高那些频繁访问数据的读取速度,也降低了频繁 I/O 对磁盘的压力 案例:dd.
2020-08-09 22:59:36 898
原创 十六、Linux性能优化实战学习笔记-怎么理解内存中的Buffer和Cache?
不同版本的free 所展示的结果不一样。[ninesun@MiWiFi-R3L-srv ~]$ free -m total used free shared buff/cache availableMem: 972 552 161 19 257 259Swap: 2047 130 .
2020-08-09 14:14:22 386 1
原创 02 | 数据结构学习笔记:快速的Redis有哪些慢操作?
一、redis为什么快?redis接收到一个键值对操作后,能以微秒级别的速度找到数据,并快速完成操作。1、所有操作都在内存上完成,内存的访问速度本身就很快2、归功于它的数据结构,键值对是按一定的数据结构来组织的,操作键值对最终就是对数据结构进行增删改查操作。String(字符串) List(列表) Hash(哈希) Set(集合) Sorted Set(有序集合这些是数据的保存形式的类型也就是值的类型,并不是底层的数据结构,这里需要注意。底层数据结构一共有 6 种,分别是.
2020-08-08 21:55:13 357
原创 十五、Linux性能优化实战学习笔记 - Linux内存是怎么工作的
内存管理也是操作系统最核心的功能之一。内存主要用来存储系统和应用程序的指令、数据、缓存等内存映射我们通常所说的内存容量指的是物理内存。物理内存也称为主存,大多数计算机用的主存都是动态随机访问内存(DRAM)。只有内核才可以直接访问物理内存。1、进程如何访问内存?Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的。进程访问内存其实访问的虚拟内存。虚拟地址空间的内部又被分为内核空间和用户空间不同字长(也就是单个CPU指令可以处理数据的最大长度)的处理器,地
2020-08-08 16:23:14 891 1
转载 Linux Sort 多列排序
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
2020-08-07 11:21:12 2574
原创 Linux 如何查看文件系统的块大小
查看OS 文件系统的块大小tune2fs命令允许系统管理员在Linux ext2、ext3或ext4文件系统上调整、设置、查看文件系统参数。tune2fs -l 只会显示 superblock 上的内容。直接查看整个磁盘是不可行的,因为在该磁盘上创建了多个逻辑分区。查看时应制定具体的逻辑分区。subGroup]# /sbin/tune2fs -l /dev/sda3 | grep "Block size" /sbin/tune2fs: Bad magic number in super-b
2020-08-01 15:55:06 2125
SHL入职测评完全攻略(PDF已分类 可直接搜索!!!)
2023-07-27
年终总结PPT灵感手册(旁门左道PPT工作室出品)
2023-02-02
京东数科-PG逻辑复制实战
2022-05-14
课程来自于 【大厂学苑】云原生视频课程(视频+资料+代码)
2022-05-14
ji-ke-shi-jian - 云原生 孟Fanjie
2022-05-14
如何成为学习高手.zip
2021-10-28
数据采集之Flume.xmind
2021-09-11
mysql-libs-5.1.73-3.el6_5.x86_64.rpm
2020-08-18
GreenPlum 数据库failover mster切standby.pptx
2020-07-09
ncurses-6.1.20180407-alt2.src.rpm
2020-05-15
htop-2.2.0.tar.gz
2020-05-15
greenplum-loaders-4.3.27.0-WinXP-x86_32.msi
2020-04-30
【批量下载】jvisualvm安装Visual GC插件等.zip
2019-09-24
4.-Greenplum-数据库架构介绍.pdf
2019-08-30
spring最有学习价值的Demo(springmvc-master)
2017-11-04
gcc mankefile -目录大全
2017-10-19
Hadoop2.x大数据平台
2017-10-19
strtus一个简单的例子
2017-10-12
makefile的使用
2016-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人