前几天刚考完嵌入式操作系统,乘着这股热劲又学习了一下linux的内存管理,以下是的我的一些心得:1,MMU。 大家都知道,每个进程之间是独立的,并且可以访问4G的线性空间,那么怎样才能保持进程的独立性了,这就引入了MMU,即内存管理单元。MMU其实是一个硬件,在拥有MMU的体系结构中,内存被分为虚拟内存和物理内存,物理内存就是实际的内存大小,而应用程序使用虚拟内
件源于在服务器运行一个脚本程序…好好的脚本突然报错,还以为脚本出现问题了。细看报错原因(具体报错信息已经忘记了),是没有可用空间。从没遇见过这个情况,怎么办呢?一、确定是不是真的是磁盘空间不足输入命令:df –lh 查看磁盘信息很明显:Filesystem下的挂载点 /dev/xvda1 下的40G容量已经耗尽。既然问题已经确定了,接下来就是处理了。处理方法也很简单,就是删文件。问:删除什么文件?
转载
2024-04-03 20:01:19
180阅读
1.前言本文主要block组件的主要流程,在介绍的过程中,将详细说明和block相关的流程,涉及到其它组件的详细流程再在相关文章中说明。2.主要数据结构和API2.1 struct mmc_card Elemete Namestruct mmc_cardPathinclude/linux/mmc/card.hResponsiblities 是对mmc device的抽
1、rmdir和rm指令rmdir指令与mkdir相对应,其中mkdir建立目录,而rmdir删除建立的的目录。语法:rmdir [-p] [dirName];功能:删除空目录;适用对象:具有当前目录操作权限的所有使用者;-p 当子目录被删除后,如果父目录也变成空目录的话,就连带父目录一起删除rm命令能够同时删除文件或目录语法:rm [-f-i-r-v] [dirName/dir];功能:删除文件
文章作者:Tyan 1. free命令Linux中查看内存的命令为free,命令如下:$ free -h
total used free shared buff/cache available
Mem: 62G 4.9G 627M 520K 57
转载
2024-08-06 14:43:18
867阅读
1. 前言由eMMC基础技术1:MMC简介中MMC、SD、SDIO的介绍可知,这三种技术都是起源于MMC技术,有很多共性,因此Linux kernel统一使用MMC framework管理所有和这三种技术有关的设备。本文将基于eMMC基础技术1:MMC简介对MMC技术的介绍,学习Linux kernel MMC framework的软件架构。2. 软件架构Linux kernel的驱动框架有两个要
设计1动机2持久化不要害怕文件系统恒定的时间复杂度3效率端到端的批量压缩4生产者负载均衡异步发送5消费者推送 vs 拉取消费位置离线数据加载6消息传递语义7 复本复制日志法定人数ISR和状态机不纯洁的leader选举如果所有副本都失效了怎么办可用性和持久性副本管理8日志压缩日志压缩基础日志压缩提供了什么保证日志压缩细节Configuring The Log Cleaner9 配额限额为什么需要配
队列队列的定义队列(Queue)也是一种运算受限的线性表。它只允许在表的一端进行插入,而在另一端进行删除。允许删除的一端称为队头(front),允许插入的一端称为队尾(rear)。队列的修改是依先进先出的原则进行的。 队列的基本操作1.初始化队列 InitQueue(&Q) 将队列Q设置成一个空队列。2.入队列 EnQueue(&Q,X) 将元素X插入到队尾中
转载
2024-11-01 11:53:47
159阅读
问题原因:mysql安装时,数据、日志目录都配到了/var/lib路径下,时间长了,/var就满了,mysql无法登录。1、首先查看磁盘占用比较大的是什么,如果是mysql-bin的,可以清理,方法如下:登录mysql,执行如下:mysql> reset master;Query OK, 0 rows affected, 1 warning (0.20 sec)这样就删除了日志文件,如果你不
转载
2023-06-05 22:43:52
283阅读
在分析了进程的虚拟地址布局,我们转向内核以及他管理用户内存的机制。下图是gonzo的例子: Linux进程在内核中是由task_struct进程描述符实现的,task_struct的mm字段指向内存描述符mm_struct,他是进程的一个内存执行摘要。如上图所示,mm_
转载
2024-09-24 06:42:15
47阅读
# 解决 Linux MySQL 磁盘满了问题
## 1. 问题描述
在使用 Linux 系统中的 MySQL 数据库时,有时会遇到磁盘空间不足的情况,导致数据库无法正常工作。这时就需要采取一些措施来解决磁盘满了的问题。
## 2. 解决方案
### 2.1 清理数据库日志文件
MySQL 数据库在运行过程中会生成大量的日志文件,如二进制日志文件、错误日志文件等。这些日志文件占用了大量磁
原创
2024-07-04 05:04:47
292阅读
# 宝塔 Redis 内存满了怎么处理
Redis 是一个开源的高性能键值存储数据库,广泛应用于缓存、排行榜、消息队列等领域。然而,随着数据量的增加,Redis 可能会出现内存不足的情况。在使用宝塔面板管理 Redis 时,如何处理内存满的问题成为了一个常见的挑战。本文将详细探讨处理 Redis 内存满的各种方法,附带代码示例和相应的配置指导。
## 1. 检查当前内存使用情况
在采取行动之
原创
2024-08-05 04:04:46
131阅读
一、消息中间件概述1 什么是消息中间件MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方式。为什么使用MQ?在项目中,可将一些无需即时返回且耗时的操作提取出来,进行异步处理,这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。开发中消息队列通常有如下应用场景:任务异步处理 将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理,提
转载
2024-07-15 00:08:41
106阅读
32位的CPU,最大寻址范围为2^32 - 1也就是4G的线性地址空间。Linux简化了分段机制,使得虚拟地址与线性地址总是一致的。linux一般把这个4G的地址空间划分为两个部分:其中0~3G为用户程序地址空间,虚地址0x00000000到0xBFFFFFFF,供各个进程使用;3G~4G为内核的地址空间,虚拟地址0xC000
Linux mem是红帽企业操作系统(Red Hat Enterprise Linux)中的一个非常重要的组件,它扮演着管理系统内存的关键角色。系统内存是计算机中最重要的资源之一,它的管理对系统的稳定性和性能有很大的影响。在Linux系统中,内存管理是由内核负责的,而Linux mem则是负责处理内存管理的模块之一。
Linux mem主要负责跟踪系统中的内存使用情况,包括内存的分配和释放。在操
原创
2024-03-06 14:34:41
127阅读
mem_map 的定义: 在mm/memory.c中: #ifndef CONFIG_NEED_MULTIPLE_NODES
/* use the per-pgdat data instead for discontigmem - mbligh */
unsigned long max_mapnr;
struct page *mem_map;
EXPORT_SYMBOL(max_mapnr
转载
2024-04-19 15:14:29
110阅读
关系链:CPU -> CPU寄存器 -> CPU缓存 -> 内存如下图:维基百科: 在计算机系统中,CPU高速缓存(英语:CPU Cache,在本文中简称缓存)是用于减少处理器访问内存所需平均时间的部件。在金字塔式存储体系中它位于自顶向下的第二层,仅次于CPU寄存器。其容量远小于内存,但速度却可以接近处理器的频率。 当处理器发出内存访问请求时,会先查看缓存内是否有请求数据。如果存
转载
2024-10-12 08:04:29
53阅读
Linux 操作系统作为开源界的巨头,已经成为了许多开发者和系统管理员的首选。然而,在过去几十年中,随着越来越多的用户加入Linux的大军,一种现象变得越来越明显,那就是地球上的Linux操作系统已经“满了”。
“满了”并不是指硬件资源的限制,而是指Linux社区和生态系统中的问题。虽然Linux提供了强大的功能和广阔的发展空间,但是随着用户数量的增加,也有一些难题产生。
第一个问题是Linu
原创
2024-02-05 12:24:19
95阅读
Redis缓存满了怎么办?那还用说吗,满了就删除一些旧数据不就有空间了嘛。只是不能瞎删,要遵循策略删。由此,就产生了下图所示的Redis内存淘汰策略: 下面详细介绍一下Redis使用的LRU算法(近似)。近似LRU算法什么叫LRU算法呢?LRU的全称是Least Recently Used,也就是 最近最少使用 策略,判断数据最近被使用的时间,距离目前时间最远的数据优先被淘汰,是根据访问
转载
2023-11-18 22:03:01
38阅读
实验四:文件系统 实验步骤登录系统。a.使用实验一创建的用户名和密码登录系统。b.打开终端程序。 文件和目录操作a.在主目录中创建空文件large。touch largeb.使用cat命令,将garden文件的内容多次追加到large中,使large的长度达到10页。cat >> largewc -l large(不断执行上面语句,直到行数大于等于240)