InfraPub 为您找到相关结果 5

理解 Linux 的虚拟内存

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

博文 2018-11-25 11:03:49 debian.cn

Linux下多线程程序为什么消耗大量虚拟内存

最近游戏已上线运营,进行服务器内存优化,发现一个非常奇妙的问题,我们的认证服务器(AuthServer)负责跟第三方渠道SDK打交道(登陆和充值),由于采用了curl阻塞的方式,所以这里开了128个线程,奇怪的是每次刚启动的时候占用的在2.3G,然后每次处理消息就增加64M,增加到4.4G就不再增加了,由于我们采用预分配的方式,在线程内部根本没有大块分内存,那么这些内存到底是从哪来的呢?让人百思不得其解。 探索 一开始首先排除掉内存泄露,不可能每次都泄露64M内存这么巧合,为了证明我的观点,首先,我使用了valgrind。 valgrind --leak-check=full --track-fds=yes --log-file=./AuthServer.vlog & 然后启动测试...阅读全文

博文 2015-01-28 10:35:39 debian.cn

Linux系统诊断-内存基础

inactive list,内核线程kswapd会定期将active list中的页面移至 inactive list中。如果系统的inactive的内存过大,可以通过如下操作对其做回收。sync; echo 3 > /proc/sys/vm/drop_caches========现代x86系统,计算机能够使用的内存会大于其物理内存的上限,依靠的就是机制。Linux支持机制和实模式机制。实模式下,计算机会直接申请物理内存, 机制下,系统会把磁盘当成内存的扩展,已增加可使用的内存大小。并通过映射map的机制,来保存和物理内存的真实对应关系。在磁盘和内存之间传送Page的活动叫做swapping或者页面调度(paging),被用作的磁盘分区称为swap。可以通过在线添加...阅读全文

博文 2021-02-11 14:22:42 SegmentFault 思否

QEMU 5.0 稳定版发布

QEMU 是一个纯软件实现的通用模拟器和虚拟机,它有三种模式,几乎可以模拟任何硬件设备:Full-system emulation 可在任何支持的硬件架构上运行任何操作系统,User-mode emulation 可用来运行另一个 Linux/BSD 程序,Virtualization 可以接近本机性能运行 KVM 和 Xen 虚拟机。 QEMU 5.0.0 已正式发布,官方的下载链接在此。本次更新的亮点主要包括: 支持通过 virtiofsd 将主机文件系统目录传递给访客支持对在 QEMU D-Bus 上运行的外部进程进行实时迁移支持针对 main/”built-in” guest RAM 使用 Memory Backend(的后端)block: 支持通过块设备作业压缩备份镜像...阅读全文

博文 2020-04-30 10:20:13 debian.cn

influxdb内存消耗分析及性能优化【探索篇】

Size (KiB)The amount of shared memory available to a task, not all of which is typically resident. It simply reflects memory that could be potentially shared with other processes.共享内存的大小程序共享内存的数据量,并不是全部驻留在内存空间,通常反映了与其他程序潜在共用的内存。那为什么influxd会有那么高的共享内存?通过linux进程smaps分析当前实际占用内存的大小。注: smaps中有些文件的引用仅占用,而不占用物理内存#influxdb当前程序运行pid为: 9571 #1.计算influxdb数据文件...阅读全文

博文 2021-10-27 16:06:30 知乎