java技术圈 为您找到相关结果 28

自建对象存储服务minio在使用nginx进行反向代理时出现对象无法正常共享的解决办法

什么是minio Minio是在Apache License v2.0下发布的对象存储服务器。它与Amazon S3云存储服务兼容。它最适合存储非结构化数据,如照片,视频,日志文件,备份和容器/VM镜像等。对象的大小可以从几KB到最大5TB。 docker 安装示例 docker run -p 9000:9000 --name minio1 -e "MINIO_ACCESS_KEY=自己的access_key,相当于用户名" -e "MINIO_SECRET_KEY=自己的secret_key,相当于密码" -v /mnt/minio-data-v1:/data -v /mnt/minio-v1:/root/.minio -d minio/minio:RELEASE.2018-07-31T0...阅读全文

博文 2019-04-03 14:31:24 www.allocmem.com

理解 Linux 的虚拟内存

前言 前不久组内又有一次我比较期待的分享:”Linux 的虚拟内存”。是某天晚上加班时,我们讨论虚拟内存的概念时,leader 发现几位同事对虚拟内存认识不清后,特意给这位同学挑选的主题(笑)。 我之前了解一些操作系统的概念,主要是毕业后对自己大学四年的荒废比较懊恼,觉得自己有些对不起计算机专业出身,于是在工作之余抽出时间看了哈工大在网易云课堂的操作系统公开课,自己也读了一本讲操作系统比较浅的书 《Linux内核设计与实现》,而且去年自己用 C 写简单的服务器时,也追根究底了解了更多的系统底层知识。多亏了这些知识,让我对应用层的知识更有掌控感,也在上次排查问题时(从应用到内核查接口超时)助了我一臂之力。 前几天另一位同事来问另一个虚拟内存相关的问题,我才发现对于虚拟内存,我的理解还不够深刻,...阅读全文

博文 2019-06-20 08:48:00 枕边书

操作系统管理内存的机制——为什么要设置虚拟内存? - wj_hubei

在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。 一 早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。那当程序同时运行多个程序时,操作系统是如何为这些程序分配内存的呢?下面通过实例来说明当时的内存分配方法: 某台计算机总的内存大小是128M,现在同时运行两个程序A和B,A需占用内存10M,B需占用内存110。计算机在给程序分配内存时会采取这样的方法:先将内存中的前10M分配给程序A,接着再从内存中剩余的118M中划分出110M分配给程...阅读全文

linux是怎样分配内存的

我们常说的内存容量,比方说我的笔记本电脑内存就是8GB,其实指的是物理内存。物理内存也称为主存,大多数计算机用的主存都是动态随机访问内存(DRAM)。只有内核才可以直接访问物理内存。 linux内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的,这样,进程就可以很方便地访问内存,更确切地说是访问虚拟内存。 虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同字长(也就是单个CPU指令可以处理数据的最大长度)的处理器,地址空间的范围也不同。比如最常见的32位和64位系统。如下所示: 32位系统的内核空间占用1G,位于最高处,剩下的3G是用户空间。而64位系统的内核空间和用户空间都是128T,分别占据整个内存空间的最高和最低处,没剩下的中间部分是未定义的。 进程在用户态时...阅读全文

操作系统内存管理_黄规速, 逆水行舟,不进则退。

1、 计算机的存储体系 内存是计算机很重要的一个资源,因为程序只有被加载到内存中才可以运行;此外,CPU所需要的指令与数据也都是来自内存的。可以说,内存是影响计算机性能的一个很重要的因素。 在介绍内存管理的细节前,先要了解一下分层存储器体系: 大部分的计算机都有一个存储器层次结构,即少量的非常快速、昂贵、易变的高速缓存(cache);若干兆字节的中等速度、中等价格、易变的主存储器(RAM);数百兆或数千兆的低速、廉价、不易变的磁盘。这些资源的合理使用与否直接关系着系统的效率。 CPU缓存(Cache Memory):是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。缓存的出现主要是为了解决CPU运算速度与内存 读写速度不匹配的矛盾,因为CPU运算速度要比内...阅读全文

页 页表 页表项_WaneGi没有故事

五一假期前落下了几节操作系统的课,现在艰难的恶补中。。 以下是分页存储管理相关的一些知识点梳理。 首先我们应该知道的概念: 逻辑地址:是程序编译后,生成的目标模块进行编址时都是从0号开始编址,称之为目标模块的相对地址,即逻辑地址。 虚拟地址:计算机处理器的地址有32位和64位的两种,对应的虚拟地址的空间大小分别是2^32字节和2^64字节,字节用B表示。 页:分页存储管理将进程的逻辑地址空间划分为若干页(面),并且对其编号,号数从0开始,每个页(面)的大小称为页面大小,且大小应为2的幂。 物理块:将内存的物理地址空间划分为若干块,称为物理块,物理块与页(面)一一对应。 页表:又称页面映像表,存储在内存中,通过页表建立页(面)与物理块的索引。 下面通过举例子梳理一下: 假设我们已经知道了逻辑地...阅读全文

博文 2020-10-11 13:38:47 CSDN博客

free命令中的buffer和cached的比较

free命令中的buffer和cached的比较最近在搞监控,突然看到我系统的内存要用完了,赶紧登录服务器看看,~]# dstat -m 16G内存就剩1G了。怎么回事,然后用free命令看了下~]# free -m 原来是cached占用较多,真正用的只有6773M,空闲是9307M。但是还是对cached占用这么多比较担心,所以就查了下,下面文章转载至http://blog.csdn.net/beacherlu/article/details/45871489经常遇到一些刚接触Linux的新手会问内存占用怎么那么多? 在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是linux内存管理的一个优秀特性,在这方面,区别于Windows的内...阅读全文

深入剖析Linux IO原理和几种零拷贝机制的实现

前言零拷贝(Zero-copy)技术指在计算机执行操作时,CPU 不需要先将数据从一个内存区域复制到另一个内存区域,从而可以减少上下文切换以及 CPU 的拷贝时间。它的作用是在数据报从网络设备到用户程序空间传递的过程中,减少数据拷贝次数,减少系统调用,实现 CPU 的零参与,彻底消除 CPU 在这方面的负载。实现零拷贝用到的最主要技术是 DMA 数据传输技术和内存区域映射技术。零拷贝机制可以减少数据在内核缓冲区和用户进程缓冲区之间反复的 I/O 拷贝操作。零拷贝机制可以减少用户进程地址空间和内核地址空间之间因为上下文切换而带来的 CPU 开销。正文1. 物理内存和虚拟内存由于操作系统的进程与进程之间是共享 CPU 和内存资源的,因此需要一套完善的内存管理机制防止进程之间内存泄漏的问题。为了更...阅读全文

博文 2021-08-17 04:10:56 知乎

云存储环境下的容灾关键技术

本文分享自天翼云开发者社区《云存储环境下的容灾关键技术》,作者:王兆龙云存储的出现解决了现有容灾系统的几个显著问题:一是面对大量的备份数据,管理系统不够完善的问题;二是面对大规模的数据容灾灵活性和效率不高的问题;三是在数据加密保护方面依然存在的安全隐患问题。那么,云存储解决这些问题主要依靠的技术原理和机制是什么呢,云环境下的容灾关键技术都有哪些,本文接下来将对此进行简单的介绍和分析。映射技术映射技术是实现信息存储的核心技术。追踪映射技术十分关键,在通常情况下,云存储环境下的处理程序和管理设备程序之间会形成映射关系,这种管理能够直接的影响到容灾系统的应用。一是数据自动迁移,这种方法的应用是一种事件触发的,并且触发事件还包括了磁盘容量的扩展、缩小,磁盘的损坏、维修,磁盘的饱和、填充等一系列事件,...阅读全文

博文 2023-06-30 10:58:57 Tianyiyun

云服务器虚拟化超分与虚机性能关系分析

本文分享自天翼云开发者社区《云服务器虚拟化超分与虚机性能关系分析》,作者:l****n虚拟化技术是云计算商业模式的基础,它也是推动云计算经济的核心技术。虚拟化是指使用虚拟化软件在计算机硬件上创建抽象层,将单个计算机的硬件元素(包括处理器、内存、存储器等)分成多个虚拟计算机 (VM), 每个 VM 都运行自己的操作系统 (OS) ,类似于独立的计算机。这样虚拟化技术能让一台服务器变成几台甚至上百台互相隔离的虚拟服务器,不再受限于物理上的界限,而是让CPU、内存、存储、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合池化,让IT对业务的变化更具适应力。虚拟化能够提高企业资源运营效率,节约能耗,降低经济成本和空间浪费。​服务器虚拟化示意图CPU虚拟化公式...阅读全文

虚拟化技术 - CPU虚拟化

本文分享自天翼云开发者社区《虚拟化技术 - CPU虚拟化》,作者:谢****悦物理机器是由CPU,内存和I/O设备等一组资源构成的实体。虚拟机也一样,由虚拟CPU,虚拟内存和虚拟I/O设备等组成。VMM(VM Monitor)按照与传统OS并发执行用户进程的相似方式,仲裁对所有共享资源的访问。本文将分别讨论CPU虚拟化、内存虚拟化和I/O虚拟化技术的原理和实现。在虚拟化的平台上,虚拟机(guest VM)所使用的多个虚拟CPU(以下称vCPU)可能是共享同一个物理CPU(以下称pCPU)的。VMM负责vCPU的调度,当一个vCPU被调度到获得pCPU的使用权后,基于该vCPU运行的guest OS又可以调度OS中的各个线程/进程了。也就是说,guest OS中的各个线程/进程分时复用了vCP...阅读全文

博文 2023-05-19 09:35:52 Tianyiyun

Java IO学习笔记三:MMAP与RandomAccessFile - Grey Zeng

作者:Grey 原文地址:Java IO学习笔记三:MMAP与RandomAccessFile 关于RandomAccessFile 相较于前面提到的BufferedReader/Writer和FileReader/Writer 普通的Reader和Writer只能顺序读写数据,RandomAccessFile提供了一个独有的seek方法,可以修改文件内容的指针,从而可以方便读取和修改文件中的任意位置。示例: import java.io.RandomAccessFile; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import static java.nio.charset.Standar...阅读全文

博文 2023-05-12 16:32:23 博客园

浅析进程分配内存的两种方式——brk()和mmap()

如何查看进程发生缺页中断的次数?用ps -o majflt,minflt -C program命令查看。majflt代表major fault,中文名-叫大错误,minflt代表minor fault,中文名叫小错误。这两个数值表示一个进程自启动以来所发生的缺页中断的次数。发成缺页中断后,执行了那些操作?当一个进程发生缺页中断的时候,进程会陷入内核态,执行以下操作: 1、检查要访问的虚拟地址是否合法 2、查找/分配一个物理页 3、填充物理页内容(读取磁盘,或者直接置0,或者啥也不干) 4、建立映射关系(虚拟地址到物理地址) 重新执行发生缺页中断的那条指令 如果第3步,需要读取磁盘,那么这次缺页中断就是majflt,否则就是minflt。 内存分配的原理从操作系统角度来看,进程分配内存有两种方...阅读全文

云电脑运行原理分析

本文分享自天翼云开发者社区《云电脑运行原理分析》,作者:大利一、虚拟化技术虚拟化技术是云电脑运行的核心技术之一。它可以将物理服务器虚拟化成多个虚拟机,每个虚拟机都拥有独立的操作系统和应用程序运行环境。虚拟机之间相互隔离,互不影响。虚拟化技术可以显著提高服务器的利用率,减少能源消耗,同时还可以提高系统的可靠性和安全性。在云电脑中,虚拟化技术主要应用于计算资源的管理和调度。当用户通过网络发送计算请求时,云电脑管理系统会根据负载情况,将请求分配给不同的虚拟机进行处理。每个虚拟机都拥有独立的计算资源,可以同时处理多个用户请求。这种分布式计算的方式可以显著提高系统的处理能力和响应速度。二、容器技术容器技术是另一种轻量级的虚拟化技术,它可以将应用程序及其依赖项打包成一个独立的容器,实现应用程序的快速部署...阅读全文

linux 创建 swap分区

linux 创建 swap分区 swap是什么?Swap:交换分区类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。当用户提交程序,然后产生进程,在机器上运行。机器会判断当前物理内存是否还有空闲允许进程调入内存运行,如果有那么则直接调入内存进行运行;如果没有,那么会根据优先级选择一个进程挂起,把该进程交换到swap中等待,然后把新的进程调入到内存中运行。根据这种换入和换出,实现了内存的循环利用,让用户感觉不到内存的限制。从这也可以看出swap扮演了一个非常. 复制链...阅读全文

云电脑:IO虚拟化实现的技术分析

本文分享自天翼云开发者社区《云电脑:IO虚拟化实现的技术分析》,作者:大利云电脑是一种基于云计算技术的虚拟化电脑,它通过网络将物理硬件资源虚拟化成多个虚拟机,每个虚拟机都拥有独立的操作系统和应用程序。IO虚拟化技术是实现云电脑的关键技术之一,它可以实现网络和存储等资源的虚拟化。本文将从专业论述的角度来探讨云电脑中IO虚拟化技术的实现原理、分类和应用场景。一、IO虚拟化技术的实现原理IO虚拟化技术是一种将硬件资源虚拟化的技术,它可以在虚拟机中模拟真实的网络和存储设备,使得虚拟机可以像真实的计算机一样进行网络访问和数据存储。IO虚拟化技术的实现原理主要包括以下几个方面:1.硬件资源的虚拟化:IO虚拟化技术通过在物理硬件资源上添加虚拟化层,将物理硬件资源划分为多个虚拟资源,每个虚拟资源都有独立的内...阅读全文

博文 2023-12-04 16:37:27 Tianyiyun

java使用nio读写文件_使用nio读取文件_小码农叔叔的博客

IO原理 最近在研究 JAVA NIO 的相关知识,学习NIO,就不能提到IO的原理和事项,必经NIO是基于IO进化而来 IO涉及到的底层的概念大致如下: 缓冲区操作。2) 内核空间与用户空间。3) 虚拟内存。4) 分页技术 一,虚拟存储器 虚拟存储器是硬件异常(缺页异常)、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。 虚拟存储器的三大能力: ①将主存看成是一个存储在磁盘上的地址空间的高速缓存。 ②为每个进程提供了一个一致的地址空间。 ③保护每个进程的地址空间不被其他进程破坏。 虚拟内存的两大好处: ① 一个以上的虚拟地址可指向同一个物理内存地址。 ② 虚拟内存空间可大于实际可用的硬件内存。 二,用户空间与内核空间 设虚拟地址为32位...阅读全文

博文 2023-05-15 10:50:14 CSDN博客

malloc中的系统调用brk和mmap - 一生热爱

malloc中的系统调用brk和mmap 环境 ubuntu14.04 malloc通过系统调用的方式从操作系统申请内存,malloc内部又通过系统调用brk()或mmap来申请内存的。入下图进程虚拟内存布局所示,mmap对应Memory Mapping Segment,brk对应Heap. brk brk通过增加program break的位置(brk)从内核申请(非零值初始化)内存。一开始堆段(heap segment)的其实位置(start_brk)和结束位置(brk)指向同一个位置。 当ASLR(Address Space Layout Randomization)关闭时,start_brk和brk同时指向data/bss段的结束位置(end_data) 当ASLR打开时,start...阅读全文

博文 2023-05-12 15:49:36 博客园

云服务器比传统服务器更安全的原因与实现机制

本文分享自天翼云开发者社区《云服务器比传统服务器更安全的原因与实现机制》,作者:3****m随着互联网的普及和云计算技术的发展,越来越多的企业和组织选择使用云服务器来提供和存储数据。与传统服务器相比,云服务器在安全性方面具有诸多优势。本文将围绕云服务器比传统服务器更安全的原因,探讨其实现机制。一、云服务器比传统服务器更安全的原因虚拟化技术云服务器采用虚拟化技术,将物理服务器上的资源(如CPU、内存、存储等)汇聚到一个虚拟的云中,然后通过网络对外提供服务。这种虚拟化技术可以隔离不同用户和业务,防止数据泄露和攻-击。同时,虚拟化技术还可以实现资源的动态调整和负载均衡,提高资源利用率和系统稳定性。容错技术云服务器通常采用容错技术,实现故障自动切换和负载均衡。当某个虚拟机出现故障时,系统会自动将其切...阅读全文

云电脑架构设计的层次

本文分享自天翼云开发者社区《云电脑架构设计的层次》,作者:3****m一、基础设施层基础设施层是云电脑架构的最底层,负责提供计算、存储、网络等基础设施。这些基础设施可以由多个服务器组成,通过虚拟化技术进行资源池化,实现资源的动态分配和共享。基础设施层需要提供足够的计算、存储和网络资源,以满足虚拟化层和应用层的资源需求。同时,基础设施层还需要具备高可用性、可扩展性和安全性等特点,以满足用户的需求和保障数据安全。二、虚拟化层虚拟化层是云电脑架构的核心层,负责将硬件资源虚拟化成多个虚拟机。每个虚拟机都拥有独立的操作系统和应用程序,可以独立运行。虚拟化层还可以实现虚拟机的动态迁移和容错处理。通过虚拟化技术,虚拟化层可以实现对计算资源的动态分配和共享,提高计算机的处理能力和资源利用率。同时,虚拟化层还...阅读全文

Django+Vue:Python Web全栈开发(基于Django4.1)

![1.png](http://static.itsharecircle.com/240105/de015aec364ad609b39e3dcef34aa519.png) Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。Django 是一个高级的 Python Web 框架,用于快速开发可维护和可扩展的 Web 应用程序。使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务。 第一步,安装 Python Windows 下安装 Python 非常简单,去 Python 官方网站找到 Python 3 的下载地址,根据你的系统选择 32 位或者 64 位的安装包,下载...阅读全文

博文 2024-01-05 14:08:49 giadnbhaytgw

Three.js可视化企业实战WEBGL课(2024年1月升级版48章全)

Three.js可视化企业实战WEBGL课(2024年1月升级版48章全) 给大家分享一套课程——Three.js可视化企业实战WEBGL课,2024年1月最新升级48章,附源码+课件等资料下载,课程不定期更新,包更新。 Three.js是一个基于WebGL的JavaScript 3D图形库,它可以轻松地在浏览器中创建3D场景和动画。同时,它支持外部模型和纹理的导入,让开发者可以更加便捷地创建出震撼的3D场景。 Three.js的应用场景非常广泛,主要包括以下几个方面: 游戏开发:Three.js可以轻松地创建3D游戏场景和动画效果,让游戏制作变得更加简单。 产品展示:对于需要展现3D产品模型的企业来说,Three.js可以帮助他们创建出非常逼真的展示场景,大大提升了产品展示效果。 教育培训...阅读全文

博文 2024-02-03 14:14:59 haoighd6668

认识Redis:不只是缓存,还有这些厉害的功能!

在当今数据驱动的世界中,快速存取信息成为了技术发展的关键。而在众多存储解决方案中,Redis以其独特的魅力和强大的功能,成为了开发者们的宠儿。今天,就让我们一起来认识一下Redis。 ### 一、Redis是什么,可以用来干什么? Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 ![image.png](http://static.itsharecircle.com/240220/c4b8adfc73b7950a6784418485d666f8.png) 与MySQL数据库不同的是,Redis的数据是存在内存中的。它的读写速...阅读全文

博文 2024-02-20 16:18:32 YDYXCODE

云电脑架构设计的层次1

本文分享自天翼云开发者社区《云电脑架构设计的层次》,作者:3****m一、基础设施层基础设施层是云电脑架构的最底层,负责提供计算、存储、网络等基础设施。这些基础设施可以由多个服务器组成,通过虚拟化技术进行资源池化,实现资源的动态分配和共享。基础设施层需要提供足够的计算、存储和网络资源,以满足虚拟化层和应用层的资源需求。同时,基础设施层还需要具备高可用性、可扩展性和安全性等特点,以满足用户的需求和保障数据安全。二、虚拟化层虚拟化层是云电脑架构的核心层,负责将硬件资源虚拟化成多个虚拟机。每个虚拟机都拥有独立的操作系统和应用程序,可以独立运行。虚拟化层还可以实现虚拟机的动态迁移和容错处理。通过虚拟化技术,虚拟化层可以实现对计算资源的动态分配和共享,提高计算机的处理能力和资源利用率。同时,虚拟化层还...阅读全文

云电脑架构设计的层次2

本文分享自天翼云开发者社区《云电脑架构设计的层次》,作者:3****m 一、基础设施层 基础设施层是云电脑架构的最底层,负责提供计算、存储、网络等基础设施。这些基础设施可以由多个服务器组成,通过虚拟化技术进行资源池化,实现资源的动态分配和共享。基础设施层需要提供足够的计算、存储和网络资源,以满足虚拟化层和应用层的资源需求。同时,基础设施层还需要具备高可用性、可扩展性和安全性等特点,以满足用户的需求和保障数据安全。 二、虚拟化层 虚拟化层是云电脑架构的核心层,负责将硬件资源虚拟化成多个虚拟机。每个虚拟机都拥有独立的操作系统和应用程序,可以独立运行。虚拟化层还可以实现虚拟机的动态迁移和容错处理。通过虚拟化技术,虚拟化层可以实现对计算资源的动态分配和共享,提高计算机的处理能力和资源利用率。同时,虚...阅读全文