自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Docker 初探Docker的网络模式之Container模式模式

Container模式熟悉了host模式,Container模式也非常好理解,Container模式指定新创建的容器和已经存在的一个容器共享一个Network Namespace,而不是和宿主机共享。即新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。同样两个容器除了网络方面相同之外,其他的如文件系统、进程列表等还是隔离的。新创建的容器和已经存在的容器共享网络IP,而不是和宿主机共享,不管host模式也好还是container模式也好,这个容器和宿主机还是

2020-08-09 13:46:23 7

原创 Docker 初探Docker的网络模式之host模式

刚接触Docker的时候,你是否好奇容器之间是怎么通信的呢?今天我们就一起来认识一下docker的网络吧~Docker的网络模块是可插拔式的,默认有五种网络模式可以选择。通过docker network ls这个命令来查看本机中所有的网络模式。[root@VM_0_14_centos ~]# docker network lsNETWORK ID NAME DRIVER SCOPEc79756cf9cde br

2020-08-07 17:14:30 84

转载 Linux 内存映射以及内存是如何工作的

同CPU管理一样,内存管理也是操作系统最核心的功能之一。内存主要用来存储系统和应用程序的指令、数据、缓存等。那么,Linux 到底是怎么管理内存的呢?今天,我就来带你一起来看看这个问题。内存映射说到内存,你能说出你现在用的这台计算机内存有多大吗?我估计你记得很清楚,因为这是我们购买时,首先考虑的一个重要参数,比方说,我的笔记本电脑内存就是8GB的。我们通常所说的内存容量,就像我刚刚提到的8GB,其实指的是物理内存。物理内存也称为主存,大多数计算机用的主存都是动态随机访问内存(DRAM).

2020-08-07 11:58:42 23

原创 Ansible 制定演员表inventory即hosts解析

记录目标主机∶ inventory在没有对Ansible做任何配置的时候,Ansible只能通过localhost来控制本机,我们都是让Ansible指挥本机去执行任务,这离我们批量控制远程主机的目标还有点远。Ansible肯定是支持指挥远程主机执行任务的,如何指定哪些远程主机执行任务呢?让Ansible发挥强大作用的第一步是配置inventory。inventory表示清单的意思,在计算机领域里往往表示的资源清单,在Ansible中它表示主机节点清单,也是资源的一种。通过配置inventory,就

2020-08-06 17:43:26 13

转载 LVS 小猪都能看懂的LVS负载均衡原理,你确定不看?

本文希望阐述清楚LVS的各种转发模式,以及他们的工作流程和优缺点,同时从网络包的流转原理上解释清楚优缺点的来由,并结合阿里云的slb来说明优缺点。如果对网络包是怎么流转的不太清楚,推荐先看这篇基础:程序员的网络知识 -- 一个网络包的旅程,对后面理解LVS的各个转发模式非常有帮助。几个术语和缩写cip:Client IP,客户端地址vip:Virtual IP,LVS实例IPrip:Real IP,后端RS地址RS: Real Server 后端真正提供服务的机器LB: Load.

2020-08-05 18:06:17 12

原创 Docker 入门docker compose请看这篇文章

简介docker容器编排工具,实现对docker多容器的控制 重要概念 服务 ( service ):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例 项目 ( project ):由一组关联的应用容器组成的一个完整业务单元,在 dockercompose.yml 文件中定义 使用步骤 Dockerfile 定义应用的运行环境 docker-compose.yml 定义组成应用的各服务 docker-compose up 启动整个应用 一个简单的例子

2020-08-05 17:21:34 25

原创 LVS 负载均衡之DR模式 原理与实践

LVS DR原理:用户请求LVSVIP到达director(LB均衡器),director将请求的报文的目标MAC地址改成后端的realserver MAC地址,目标IP为VIP(不变),源IP为用户IP地址(保持不变),然后Director将报文发送到realserver,realserver检测到目标为自己本地VIP,如果在同一个网段,然后将请求直接返给用户。如果用户跟realserver不在一个网段,则通过网关返回用户,如图23-6所示:DR模式 改的是MAC地址,目标IP的报文没有修改,这.

2020-08-04 17:58:17 9

转载 Docker 10张图带你深入理解Docker容器和镜像

这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(container)和镜像(image)之间的区别,并深入探讨容器和运行中的容器之间的区别。题外话:就我个人而言,掌握一门技术并合理使用它的最好办法就是深入理解这项技术背后的工作原理。通常情况下,一项新技术的诞生常常会伴随着媒体的大肆宣传和炒作,这使得用户很难看清技术的本质。更确切地说,新技术总是会发明一些新的术语或者隐喻词来帮助宣传,这在初期是非常有帮助的,但是这给技术的原理蒙上了一层砂纸,不利于用户在后期掌握技术的真谛。Git就是

2020-08-03 17:45:16 28

原创 Linux 挂载之磁盘I/O优化 Access Time

前言 默认情况下,Linux ext2/ext3/ext4 文件系统在文件被访问、创建、修改等的时候记录下了文件的一些时间戳,比如:文件创建时间、最近一次修改时间和最近一次访问时间。Linux下的三个时间:1. Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间2. Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。3. Change Time:简写为ctime,表示文件的状...

2020-08-03 17:30:39 41

原创 LVS 负载均衡之NAT模式 原理与实践

LVS负载均衡工作原理实现LVS负载均衡转发方式有三种,分别为NAT、DR、TUN模式,LVS均衡算法包括:RR(round-robin)、LC(least_connection)、W(weight)RR、WLC模式等(RR为轮询模式,LC为最少连接模式)。LVS负载均衡NAT转发方式原理:用户请求LVS VIP到达director(LVS服务器:LB),director(LVS服务器)将请求的报文(因为用户的请求有一个请求报文,也就是请求包里面,请求包里面有一个目标IP地址)的目标IP地.

2020-08-03 15:40:35 51

转载 Linux CPU软中断案例一则

中断是一种异步的事件处理机制,用来提高系统的并发处理能力。中断事件发生,会触发执行中断处理程序,而中断处理程序被分为上半部和下半部这两个部分。● 上半部对应硬中断,用来快速处理中断● 下半部对应软中断,用来异步处理上半部未完成的工作Linux 中的软中断包括网络收发、定时、调度、RCU锁等各种类型,我们可以查看proc 文件系统中的/proc/softirqs,观察软中断的运行情况。在Linux中,每个CPU都对应一个软中断内核线程,名字是 ksofirqd/CPU编号。当软中断事件的频率过

2020-08-03 11:51:42 30

转载 Linux 如何迅速分析定位CPU性能瓶颈

CPU的性能指标那么多,CPU性能分析工具也是一抓一大把,换成实际的工作场景,我又该观察什么指标、选择哪个性能工具呢?不要担心,今天我就以多年的性能优化经验,给你总结出一个"又快又准"的瓶颈定位套路,告诉你在不同场景下,指标工具怎么选,性能瓶颈怎么找。CPU性能指标描述 CPU的性能指标都有哪些 ?首先,最容易想到的应该是CPU 使用率,这也是实际环境中最常见的一个性能指标。CPU使用率描述了非空闲时间占总CPU时间的百分比,根据CPU上运行任务的不同,又被分为用户CPU、系统 CPU.

2020-08-03 11:30:00 37

转载 OpenResty 和 Nginx 如何分配和管理内存

OpenResty®开源 Web 平台以高性能 和低内存占用著称。我们有一些用户甚至在嵌入式系统中运行复杂的 OpenResty 应用,比如机器人。也有一些用户在把他们的应用从其他技术栈(比如 Java,NodeJS 和 PHP)迁移到 OpenResty 之后,观察到内存使用量上的显著下降。然而,有时候我们还是需要优化某些 OpenResty 应用的内存使用。这些应用中的 Lua 代码、NGINX 配置、第三方 Lua 库或第三方 NGINX 模块都可能会有 BUG 或者性能问题,从而导致应...

2020-08-03 10:56:39 36

原创 Ansible 初识Ansible

Ansible是一个自动化管理工具,它的用法可以非常简单,只需学几个基本的模块就能完成一些简单的自动化任务,它的用法也可以非常难,不仅需要学习大量Ansible知识,还需要大量的实际应用去熟悉最优化、最完美的自动化管理逻辑。比较悲催的是Ansible的知识体系比较庞大,它的知识板块也比较零散,想要构建一个比较完善的Ansible知识体系确实稍有难度。但无论如何,千里之行始于足下,学习任何一个新知识,总归要从最基本的用法循序渐进地深入,并辅以逐渐展开的宏观结构,加上学习过程中的不断练习,最终构建出完善的知

2020-08-01 19:03:01 30

原创 Ansible 一篇文章掌握Ansible常用模块

Ansible yum模块实战conf_file 设定远程yum执行时所依赖的配置文件disable_gpg_check 安装之前是否检查gpg_keyname 软件名称,支持软件组安装update_cache 更新缓存enablerepo 指定repo源skip_broken 跳过异常软件节点state 包括:installed 、present、 latest 、absent 、

2020-08-01 15:33:50 48

原创 Keepalived 详解Nginx+keepalived实战

keepalived工作原理keepalived可提供vrrp以及health-check功能,可以只用它提供双机浮动的vip(vrrp虚拟路由功能),这样可以简单实现一个双机热备高可用功能;keepalived是以VRRP虚拟路由冗余协议为基础实现高可用的,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当

2020-07-31 20:49:11 35

原创 Docker 数据卷容器实现数据共享

数据卷容器数据卷(Data Volumes)∶容器内数据直接映射到本地主机环境(对数据进行持久化),容器和宿主机通信,容器还不能和容器通信数据卷容器(Data Volume Containers)∶使用特定容器维护数据卷(多个容器之间的数据共享),实现容器之间数据共享如果两个容器都有data目录,怎么使得两个容器data目录数据同步,那么可以在宿主机建立data目录,然后容器1去同步宿主机data目录,同理容器2。如果用户需要在多个容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器

2020-07-30 17:14:19 13

转载 Ansible 学习不迷茫∶如何将Ansible学至精通

曾经有个Linux运维,后来他累了,在真正开始聊Ansible之前,我想先给各位讲个故事。小安很早以前就是一名Linux运维工程师,他的基础很扎实,常用工具、公司涉及的服务以及公司的运维流程都比较熟悉。比如他能熟练地使用Shel脚本去做一些日常的运维管理,Shll脚本不方便的时候也能写写PHP和Per脚本来给自己的工作添一点色彩。由于这时公司环境比较小,小安管理的资源也比较少,所以那时候的运维工作对于小安来说,绝大多数时候就是打开远程连接工具(比如Xshell),点开他需要维护的几台主机的ssh连接

2020-07-30 15:43:23 36

原创 Keepalived Shell脚本来简单实现keepalived功能

(1)高可用架构主要是指两台(多台)服务器、网站、数据库之间的架构,当其中一台宕机或者异常,能够快速启用(切换)另外一台,保障门户网站、业务系统、数据库持续提供服务,防止业务单点故障。(2)高可用不代表网站、数据库、业务系统不宕机,而表示网站、数据库、业务系统宕机时间比较短,能够快速解决或者恢复网站等。衡量网站的高可用通常使用9表示,例如网站可用率是99%、99.9%、99.999%。基于SHELL编程脚本一键实现Nginx高可用,主要编程思路如下:两台Nginx WEB服务器,引入VIP地址1

2020-07-29 17:57:58 45

原创 Docker 数据卷持久化数据

在生产环境中使用Docker,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作。容器中的管理数据主要有两种方式∶数据卷(Data Volumes)∶容器内数据直接映射到本地主机环境数据卷容器(Data Volume Containers)∶使用特定容器维护数据卷数据卷数据卷(Data Volumes)是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似于Linux 中的mount 行为。数据卷可以提供很多有用的特性∶(.

2020-07-29 16:56:07 65

转载 Linux top命令小结

通俗点说,Linux中的top命令就像是Windows中的任务管理器。它会以列表的形式展示出系统的当前状态以及进程信息,并且定时刷新,同时也支持一些交互性的操作。直接执行top命令,就会看到如下界面。下面逐行解释这些内容代表什么含义。 第一行:概况HH:mm:ss:当前的系统时间。up xxx days, HH:mm:从本次开机到现在经过的时间。x user:当前有几个用户登录到该机器。load average:系统1分钟、5分钟、15分钟内的平均负载值。 平均负载的详细含义和算法内容很丰富,请

2020-07-29 11:59:53 38

转载 Shell 四剑客sed 之生产环境上,最常用的一套“Sed“技巧

sed命令应用广泛,使用简单,是快速文本处理的利器。它其实没多少技巧,背诵、使用是最合适的学习渠道,属于硬技能。但它又很复杂,因为高级功能太多。本篇不去关注sed的高级功能,仅对常用的一些操作,进行说明。随着使用,你会发现它和vim的一些理念是想通的,正则表达式的语法也基本上一样,并没有多少学习成本。从个人视野和工作效率上来看,sed命令都是程序员必须掌握的一个重要工具。一个简单的入门如图,一个简单的sed命令包含三个主要部分:参数、范围、操作。要操作的文件,可以直接挂在命令行的最后。.

2020-07-29 11:38:29 49

转载 Redis 集群概述

Redis集群介绍Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误.Redis 集群通过分区来提供一定程度的可用性,在实际环境中当某个节点宕机或者不可达的情况下继续处理命令. Redis 集群的优势:自动分割数据到不同的节点上。 整个集群的部分节点失败或者不可达的情况下能够继续处理命令。Redis 集群的数据分.

2020-07-28 21:14:43 32

原创 Keepalived 脑裂问题的起因与解决

Keepalived脑裂脑裂(split-brain):指在一个高可用(HA)系统中,当联系着的两个节点断开联系时,本来为一个整体的系统,分裂为两个独立节点,这时两个节点开始争抢共享资源,结果会导致系统混乱,数据损坏。对于无状态服务的HA,无所谓脑裂不脑裂;但对有状态服务(比如MySQL)的HA,必须要严格防止脑裂。在高可用HA系统中,当联系2个节点的“心跳线”断开时,本来为一整体,一个VRRP协议组,动作协调的HA系统,就分裂为两个独立的个体。由于相互失去了联系,都以为对方出了故障;两个节点的..

2020-07-28 17:55:01 146

原创 Keepalived 一文带你理解Keepalived负载高可用原理

Keepalived是什么?keepalived软件起初是专门为LVS负载均衡软件而设计,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能,因此,keepalived除了能够管理LVS软件ipvsadm外,还可以作为其它服务(例如:Nginx、HAProxy、MySQL等)的高可用解决方案软件 keepalived软件主要使用过VRRP协议实现高可用功能。VRRP是Virtual Route Redundancy Protocol(虚拟路由冗余协议)的缩写,

2020-07-28 16:58:38 47

转载 Docker Dockerfile之镜像缓存

镜像缓存镜像缓存:在构建或者下载镜像时候,当镜像层已经存在的时候,直接使用使用缓存, 不需要进行重新构建镜像,如果我们希望在构建镜像时不使用缓存,可以在 docker build 命令中加上 –no-cache 参数。如果我们改变 Dockerfile 指令的执行顺序,或者修改或添加指令,都会使缓存失效。Dockerfile 在执行的时候,当有执行过相同的代码并且顺序也一致的情况下,就会使用缓存镜像层进行构建新的镜像。Dockerfile 中每一个指令都会创建一个镜像层,上层是依赖于下层的。注:镜像层

2020-07-28 15:50:16 44

原创 Docker 一篇文章带你理解Dockerfile

关于Dockerfile在Docker中创建镜像最常用的方式,就是使用Dockerfile。Dockerfile是一个Docker镜像的描述文件,我们可以理解成火箭发射的A、B、C、D…的步骤。Dockerfile其内部包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。一个Dockerfile的示例如下所示:#基于centos镜像FROM centos#维护人的信息MAINTAINER The CentOS Project#安装...

2020-07-27 16:49:55 35

转载 Linux 案例分析不可中断状态和僵尸状态进程

多进程应用的案例,带你分析大量不可中断状态和僵尸状态进程的问题・机器配置:2 CPU, 8GB内存•预先安装 docker、sysstat、dstat 等工具这里,dstat是的性能工具,它吸收了 vmstat、iostat、ifstat等几种工具的优点,可以 同时观察系统的CPU、磁盘I/O、网络以及内存使用情况。然后,输入PS命令,确认案例应用已正常启动。如果一切正常,你应该可以看到如下所示的输 出$ ps aux I grep /approot 4009 0.0 ..

2020-07-27 11:44:43 46

转载 Linux 怎么理解Linux中的软中断

进程的不可中断状态是系统的一种保护机制,可以保证硬件的交互过程不被意外打断。所以,短时间的不可中断状态是很正常的。但是,当进程长时间都处于不可中断状态时,你就得当心了。这时,你可以使用 dstat、pidstat 等工具,确认是不是磁盘I/O的问题,进而排查相关的进程和磁盘设备。其实除了iowait,软中断(softirq)CPU使用率升高也是最常见的一种性能问题。从"取外卖"看中断说到中断,中断是系统用来响应硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处...

2020-07-27 11:10:26 46

原创 Haproxy ACL规则实现智能负载均衡

HAProxy的ACL 是什么?由于HAProy可以工作在七层模型下,因此,要实现 HAProxy的强大功能,一定要使用强大灵活的ACL规则,通过ACL规则可以实现基于HAProy的智能负载均衡功能。HARroxy 通过ACL 规则完成两种主要的功能,分别是∶1)通过设置的ACL规则检查客户端请求是否合法。如果符合ACL规则要求,那么就将放行,反正,如果不符合规则,则直接中断请求。2)符合ACL 规则要求的请求将被提交到后端的backend 服务器集群,进而实现基于ACL 规则的负载均衡.

2020-07-26 20:36:14 65

原创 Shell 脚本实现ansible免密认证 expect批量导入ssh公钥

作为一个运维工程师,不是每个人工作的环境都想阿里、腾讯那样,动不动就上亿的PV量,上万台服务器。我们通常还是工作在,几十台上百台服务器这样的环境,而使用ansible或者puppet这样的自动化运维工具则显得大材小用,并且最终的效果可能还不如几个小工具达到的效果好。像ssh免密登录在配合pssh这样的推送工具,在配合自动化配置脚本,可以说是即方便也使用。本文章将详细带大家以shell脚本的形式实现ssh免密登录进行百台机器的配置和管理。ssh服务随着明文通信协议telnet渐渐退出历史舞台...

2020-07-25 17:21:36 99

原创 Linux 系统中的僵尸进程

Linux 系统中僵尸进程Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动。僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸。僵尸进程如何产生的?如果一个进程在其终止的时候,自己就回收所有分配给它的资源,系统就不会产生所谓的僵尸进程了。那么我们说一个进程终止之后,还保留哪些信息?为什么终止之后还需要保留这些信息呢?一个进程终止的方法很多,进程终止后有些信息对于父进程和内核还是很有用的,例如进程的ID

2020-07-24 18:03:44 26

原创 Dokcer Dockerfile制作Tomcat镜像

使用 Dockerfile 来制作 nginx镜像[root@localhost docker]# cat DockerfileFROM ansible/centos7-ansibleMAINTAINER complicatedRUN yum install gcc pcre pcre-devel zlib zlib-devel wget make openssl-devel net-tools -yENV NGX_VER 1.16.0ENV NGX_CONFIG /usr/src/.

2020-07-24 14:32:57 36

原创 Nginx http_access_module access阶段 限制IP地址访问权限

http_access_module模块摘要[root@localhost nginx-1.16.1]# ./configure --help | grep http_access_module--without-http_access_module --可以看到access模块是http_access_module模块提供的访问控制模块 ,该模块可以实现简单的防火墙功能,过滤特定的主机。这个模块在我们编译nginx时会默认编译进nginx的二进制文件中,access设置...

2020-07-24 10:06:33 60

原创 Docker 守护进程(daemon)与命令行(CLI)

Docker并非单体应用,它由多个组件构成。这篇博客将介绍Docker守护进程(daemon)与Docker命令行(CLI)。事实上,当我们在谈论安装或使用Docker时,所指的其实就是Docker守护进程与命令行。Docker架构图解释一下上图中的元素:Docker守护进程(docker daemon)是运行在你的操作系统上的一个服务。目前,它只能运行在Linux上,因为它依赖于一些Linux内核特性(比如Cgroup与Namespace)。 但是,也有一些特殊的办法让Docker运.

2020-07-23 22:27:42 41

原创 Docker Dockerfile Docker容器对外的22端口的监听

什么是Dockerfile由于Docker官网公共仓库镜像大多不完整,无法真正满足企业的生产环境系统,此时需要我们自行定制镜像或者重新打包镜像。Docker镜像制作是管理员的必备工作之一,Docker镜像制作的方法主要有两种,制作方法如下:Docker commit|export将新容器提交至Images列表; 编写Dockerfile,bulid新的镜像至镜像列表;Dokcerfile正是用来构建Docker镜像的构建文件,是由一系列的命令和参数构成的脚本,Dokcerfle的构建步骤.

2020-07-23 21:24:35 66

转载 Docker 制作docker file的最佳实践

官方仓库虽然有数十万计的免费镜像,但大多数无法直接满足公司业务需求,这就需要我们自己去定制镜像了。Docker通过Dockerfile自动构建镜像,Dockerfile是一个包含用于组建镜像的文本文件,由一条一条的指令组成。这里,给你提供4点编写建议,可帮助你编写高效易用的Dockerfile。1. 减少镜像层一次RUN指令形成新的一层,尽量Shell命令都写在一行,减少镜像层。例如:FROM centos:7MAINTAINER www.ctnrs.comRUN yum i.

2020-07-23 17:06:24 31

原创 Shell 了解cut命令看这篇文章足矣

cut命令在Linux和Unix中的作用是从文件中的每一行中截取出一些部分,并输出到标准输出中。我们可以使用cut命令从一行字符串中于以字节,字符,字段(分隔符)等单位截取一部分内容出来。在本文中,我们通过一些例子来了解cut命令的使用,这些使用方法在我们的日常工作中也是非常常用的。Cut 命令和语法cut命令的基本语法如下:$ cut OPTION... [FILE]...我们先来了解一下cut的一些选项,cut命令必须要指定选项才能执行。-f: 提取指...

2020-07-22 21:04:34 51

原创 Haproxy 解决集群 session 共享问题

Haproxy 二种方法保持客户端seslon 一致1、用户 IP识别源地址hash(用户IP识别)Haroxy 将用户IP经过hash计算后指定到固定的真实服务器上(类似于nginx的IP hash 指令)。缺点:当后端一台服务器挂了以后会造成部分session丢失backend SOURCE_srv  mode http  balance source  server app-node1 10.31.1.179:80 check port 80 inter 3000 r...

2020-07-22 18:01:35 51

原创 Nginx 内存与共享内存的管理与分配

一. 概述应用程序的内存可以简单分为堆内存,栈内存。对于栈内存而言,在函数编译时,编译器会插入移动栈当前指针位置的代码,实现栈空间的自管理。而对于堆内存,通常需要程序员进行管理。我们通常说的内存管理亦是只堆空间内存管理。 对于内存,我们的使用可以简化为3步,申请内存、使用内存、释放内存。申请内存,使用内存通常需要程序员显示操作,释放内存却并不一定需要程序员显示操作,目前很多的高级语言提供了垃圾回收机制,可以自行选择时机释放内存,例如: Go、Java已经实现垃圾回收, C语言目前尚未实现垃圾回收,C+

2020-07-22 10:41:57 39

提示
确定要删除当前文章?
取消 删除