首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux中各文件夹所占空间大小技巧

那么比较常见的就是当磁盘分区快满了,你需要删除一些没用的文件夹的时候,在win下面你可以直接右击文件夹便可以看到该文件夹所占用磁盘的大小,如果要查看多个文件夹所占磁盘大小一般都得每个选中右击查看,不然就得用专门的软件查看...而在linux下你可能会想到最常用的ls命令,其中ls -l能够显示比较详细的文件信息: 上图红色框标记处表示的是文件大小,如果当前项是单个文件那么其表示的就是文件的大小;而当前项为目录,则表示文件夹的大小...,这里一定要注意其仅仅只是文件夹的大小,因为在linux中文件夹也是以一种文件形式存在的,所以该字段表示的文件大小并不包括其文件夹下面所包含的内容大小之和,如上图你也可以看到基本上都是4096。...du --man-depth=N以递归的方式显示文件大小,N=0表示当前目录所占磁盘大小,N=1表示文件夹的第一层各文件及目录所占磁盘大小,以此类推。...(最后一行都会显示总大小) 这样我们基本上可以了解到各个文件及目录所占大小,从而可以对相关大文件进行清理等, 好了,这里小哥就介绍了一下Linux下查看文件及文件夹所占磁盘总大小,希望本文能够对你有帮助

2.7K50

Linux进程——进程地址空间

前言:在讲完环境变量后,相信大家对Linux有更进一步的认识,而Linux进程概念到这也快接近尾声了,现在我们了解Linux进程中的地址空间!...本篇主要内容: 了解程序地址空间 理解进程地址空间 探究页表和虚拟地址空间 1....首先引入一个概念:每一个进程运行之后,都会有一个进程地址空间的存在,在系统层面都要有自己的页表映射结构! 因此:当一个进程先修改后,它就不再指向原来那块物理空间,而是拥有一个新的物理空间!...data_end; long heap_start; long heap end; //brk long stack _start; long stack _end; ...... } 而该结构体的大小会被初始化成...结束进程地址空间,我们的Linux进程概念到这里也结束了,后面我将带大家走进进程控制。 谢谢大家支持本篇到这里就结束了

21810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux进程地址空间

    3.3  什么是进程地址空间        所谓进程地址空间,本质上就是一个描述进程可视化范围的地址空间内存在各种区域划分,对线性地址进行start、end即可 。...本质上其实就是一个内核数据结构,和PCB一样,地址空间也是需要被操作系统管理的:先描述再组织。 而每一个进程都有自己的进程地址空间,PCB内部有一个指针指向这块空间!...),然后开辟一块新的物理内存,修改页表的映射 4.2 进程地址空间是如何切换的  进程PCB结构体里有对应的进程地址空间指针,所以进程切换就以为这进程空间地址空间被切换,而页表会被存储在CPU的cr3...这是有Linux的内存模块去管理的,进程并不需要关心。 结论4:其实变量名在定义的时候就已经被转化成一个个虚拟地址了,而我们之所以有a和&a,本质上是为了区分想获取的是变量的值还是地址。...结论5:以前我们所学习的C内存管理,其实本质上是进程地址空间,而内存管理是由Linux替我们完成的,我们上层语言并不需要关心具体的细节,只需要正常去通过对应的线性地址去使用就行了。

    12410

    Linux进程地址空间

    显示相同地址,却是不同的值 下面在Linux上验证 创建test.c文件 st.c  ⮀...,子进程对数据的修改,不影响父进程进程要对value修改时,在内存中重新申请一块空间,拷贝value值给新空间,重新映射指向新开辟的空间,导致不影响父进程的value值 ,最终将新开辟的空间value...磁盘中存在很多可执行程序 进程被加载到物理内存中,其中包括了PCB、代码和数据 CPU读取进程的代码和数据按顺序去执行 操作系统加载第二个进程时,在物理内存中申请没有被用到的空间,把PCB、代码和数据放入空间中...,在地址空间中申请空间,在页表处只填写虚拟地址,物理地址处不填写,就不需要在物理地址处申请空间,过一会,进程尝试对空间写入,在重新申请空间把映射关系创建好,整体机制被叫做 缺页中断 8....进程地址空间+页表的意义: 1.防止地址随意访问,保护物理内存与其他进程 若没有地址空间的存在,则直接使用cPU调用物理地址,会有野指针的问题存在 2.将进程管理和内存管理进行解耦合 因为有虚拟地址和页表的存在

    3K10

    Linux进程地址空间

    Linux进程地址空间是学习Linux的过程中,我们遇见的第一个难点,也是重中之重的重点。虽然它很难,但是,等我们真正懂得了这样设计的原理,我们不禁会感叹:这真的是太妙了。...这个好办;方向是比对出来的,我们只需要多申请几次堆空间和栈空间,然后比较地址大小变化。...这里,我还想和大家达成几个共识: 地址空间描述的基本空间大小为字节。 在32位环境下,一共需要2^32个地址。 2^32*1字节=4GB的空间大小。 每个字节都有唯一的地址。 1....虽然每一个进程只有1个虚拟空间,但是这个虚拟空间可以被别的进程来同享。如:子进程同享父进程的地址空间,而mm_user和mm_count就对其计数。...*mm,unsigned long addr); unsigned long mmap_base; unsigned long task_size; //具有该结构体的进程的虚拟地址空间大小

    10910

    Linux进程地址空间

    文章目录 一、前言 二、什么是进程地址空间 三、进程地址空间如何进行管理 四、为什么会存在进程地址空间 五、进程地址空间区域的严格划分 一、前言 学习Linux系统编程一共要翻越三座大山 – 进程地址空间...那么 OS 如何对进程地址空间进行管理呢?在学习了 【Linux】计算机的软硬件体系结构 后,对于这个问题,相信大家已经能够轻松拿捏了 – 管理的本质是对数据进行管理,管理的方法是先描述,再组织。...所以和管理进程一样,操作系统会使用一种内核数据结构来对地址空间进行管理,Linux中用于 管理地址空间的内核数据结构叫做 mm_struct,操作系统会为每个进程创建一个 mm_struct 对象,然后通过管理结构体对象来间接管理进程地址空间...Linux 中 mm_struct 源码如下: 可以看到,进程地址空间其实也是进程属性的一种,我们可以通过进程的 task_struct 来找到/管理进程对应的地址空间。...mm_struct 中关于区域划分的部分源码如下: 在了解了区域划分的原理之后,地址空间的区域调整就变得很简单了 – 要调整一个区域的大小,调整 mm_struct 中维护此区域 start 和 end

    3.9K00

    Linux进程地址空间

    一、是什么 进程地址空间是什么?...在Linux中,特殊情况,我们将这种地址也成为逻辑地址。 2.感性的理解虚拟地址空间 从前有一个大富翁,他有10亿美元的资产。...3.现象的具体解释 父进程和子进程都有自己独立的进程地址空间,也有独立的页表结构。子进程由父进程创建,因此子进程进程地址空间是拷贝父进程进程地址空间。...当然对于Linux而言,虚拟地址、线性地址、逻辑地址都是一样的。 三、怎么办 操作系统要为每一个进程分配地址空间,那么操作系统是否要管理这些地址空间呢?当然是要管理的。...本文作者目前也是正在学习Linux相关的知识,如果文章中的内容有错误或者不严谨的部分,欢迎大家在评论区指出,也欢迎大家在评论区提问、交流。

    25120

    Linux系统-进程地址空间

    Linux进程地址空间 零、前言 一、程序内存空间 二、进程地址空间 1、引入及概念 2、进程地址空间 3、相关问题 零、前言 本章主要讲解学习进程地址空间的知识 一、程序内存空间 在学习C/C...1、引入及概念 对于上述的程序地址空间,其实它的真实面貌为进程地址空间,对于进程地址空间本质上来说是一个虚拟地址空间,并非真实的物理空间 示例: #include #include...,说明该地址绝对不是物理地址,因为是物理地址根本不会有这种事发生 2、进程地址空间 概念: 在Linux地址下,这种地址叫做 虚拟地址,我们在用C/C++语言所看到的地址,全部都是虚拟地址!...,同时也相应的分配了对应的mm_struct进程地址空间(PCB中储存了该进程对应的进程地址空间的地址),也就是每个进程都认为自己独占内存资源 对于进程来说,进程控制块以及进程地址空间以及相应的资源...CPU上,系统在内核为进程创建PCB记录进程属性,分配进程空间地址,由页表构建虚拟地址与物理地址的映射关系,程序查找或者修改数据会通过PCB找到对应的进程地址空间,再由进程地址空间上的虚拟地址由页表找到物理空间上分配的数据

    3.8K30

    Linux进程地址空间进程调度队列

    今日更新了Linux进程空间地址和进程调度队列的内容 欢迎大家关注点赞收藏⭐️留言 问题现象 当g_val的值修改后,父子进程各自的g_val地址都是一样的,但是为什么值却不同呢?...进程地址空间 地址空间的本质就是内核中的一个结构体对象。 每一个进程都有自己独立的地址空间,都有自己独立的页表。 页面里面存的是虚拟地址和对应的物理地址。...由于g_val的值改了,由因为进程具有独立性,所以OS就会在物理空间重新开一个空间,拷贝旧的数据到该地址,再让子进程的g_val指向该物理地址,但是虚拟地址不变。因此就出现文章开头的情况。...如果父子进程都不写,他们的变量默认是被父子共享的,代码是共享的,物理空间不会分离。 这种拷贝也叫写时拷贝,即按需申请,可有效节省空间。...Linux2.6内核进程调度队列 上图是Linux2.6内核中进程队列的数据结构。

    4610

    Linux进程理解与学习Ⅳ-进程地址空间

    环境:centos7.6,腾讯云服务器 Linux文章都放在了专栏:【 Linux 】欢迎支持订阅 相关文章推荐: 【Linux】冯.诺依曼体系结构与操作系统 【Linux...】进程理解与学习Ⅰ-进程概念 浅谈Linux下的shell--BASH 【Linux进程理解与学习Ⅱ-进程状态 【Linux进程理解与学习Ⅲ-环境变量 ---- 前言...进程地址空间 前文回顾 首先,我们先来回顾一下,在指针阶段我们学习了,内存被划分为一个一个内存单元,每一个单元的大小为1字节。而每一个内存单元都有自己的编号,从0-0xFFFFFFFF。...在Linux中我们称之为虚拟地址/线性地址。 OS则是将虚拟地址转化为物理地址(如何转化后面会讲到) 如何理解进程地址空间? 首先我们要知道,什么是进程地址空间?...实际上进程地址空间就是操作系统喂给进程的一块“饼”,OS会跟每个进程说,你们有4G的内存空间(栈区、堆区、静态区...)可以使用,但实际上,只有当进程需要用的时候,OS才会分配空间进程

    1.1K20

    Linux进程>环境变量&&地址空间&&进程调度

    环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性 1.2 常见环境变量 PATH : 指定命令的搜索路径 HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)...2.程序地址空间 2.1 研究背景 kernel 2.6.32 32位平台 2.2 程序地址空间回顾 在C语言的时候,有这样的空间布局图 可是我们对他并不理解 来段代码感受一下 #include...在Linux地址下,这种地址叫做 虚拟地址 我们在用C/C++语言所看到的地址,全部都是虚拟地址!...物理地址,用户一概看不到,由OS统一管理 OS必须负责将 虚拟地址 转化成 物理地址 2.3 进程地址空间 所以之前说‘程序的地址空间’是不准确的,准确的应该说成 进程地址空间 说明: 上面的图就足矣说名问题...3.Linux2.6内核进程调度队列 上图是Linux2.6内核中进程队列的数据结构 3.1 一个CPU拥有一个runqueue 如果有多个CPU就要考虑进程个数的负载均衡问题 3.2 优先级

    6610

    Linux进程地址空间进程控制(一.进程创建、进程终止、进程等待)

    上次介绍了环境变量:Linux进程概念(四.main函数的参数、环境变量及其相关操作) 1.程序地址空间 牵扯到内存,肯定有事这张图啦。...Linux系统中,你可以使用echo $?命令来查看上一个执行的命令或进程的退出码 但是光看一个数字,我们怎么能知道错误的原因呢?...Linux系统中,任何进程最终执行完毕后都会返回一个状态码,这个状态码通常被称为“退出码”或“返回码”(exit code)。...更新进程列表:操作系统会从进程列表中移除已终止的进程。 5.进程等待 5.1必要性 在Unix/Linux系统中,当子进程退出时,它的进程描述符仍然保留在系统中,直到父进程通过某种方式获取其退出状态。...10秒后父进程开始回收 10~15秒:父进程正常运行,15秒后父进程结束 5.2.2waitpid()方法 waitpid 是 Unix 和 Linux 系统编程中用于等待子进程结束并获取其状态的系统调用

    12900

    linux进程虚拟空间布局

    首先看linux进程在32位处理器下的虚拟空间内存布局,以i386 32位机器为例                                  x86_32 32位处理器进程虚拟地址空间布局 每个用户进程的虚拟地址空间为...所以以现在的物理内存大小对于虚拟地址空间完全够用。...linux在x86_64下的经典布局如下图                     x86_64 64位处理器进程地址空间布局 用户空间分区一致,区别就是地址空间变大了,内核空间取消了高端内存,因为内核空间的地址空间完全可以访问全部物理内存...下面以32位处理器为例看linux内核如何建立用户进程空间的内存布局的,fork调用是复制父进程的struct mm_struct的内存描述符不需要重新建立布局,而建立新的内存布局是通过加载二进制可执行文件...execve函数族加载可执行文件是将当前进程镜像替换为新的进程映像,我们看一下linux加载二进制文件建立布局的流程,只分析内存布局代码,其它的会专门写一篇二进制文件加载的分析。

    2.4K20

    Linux修炼】10.进程地址空间

    深入学习进程地址空间并克服Linux学习的第一道险关:4.1中的3:统一性! 1....2.3 地址空间的区域划分 在此之前,大家要确定一个共识: 地址空间描述的基本空间大小是字节。 32位下,有2的32次方个地址。...,与我们所举的例子是一模一样的,就是通过改变边界的大小,从而实现地址空间的动态分配!...物理地址的排布 那么我们通常所说的物理地址也就是内存与磁盘经常会产生联系,即数据在内存与磁盘间传输的过程我们称为IO,IO的单位是4KB,那么我们就将内存中4KB的大小空间看成一个page页,因此对于内存的数据来说...地址空间的存在,可以更方便的进行进程进程的数据代码的解耦,保证了进程独立性这样的特征。 3:保证统一性(最难点) 接下来就要引入第三点,这一点也是从初学Linux到现在所碰到的第一个难关!

    1.1K00

    Linux】对进程地址空间的理解

    一、关于进程地址空间的简单理解 进程地址空间其实是分了很多个区域的,区域划分的本质就是区域内的各个地址都是可以使用的。...进程地址空间不是真实的物理内存,叫做虚拟内存。每一个进程都有自己独立的PCB,也有自己独立的地址空间。在32位机器下,进程地址空间大小为[0,4GB]。...其中,PCB会记录一个进程的起始地址或基地址,这其实就是进程地址空间的首地址。...当子进程要对数据做修改时会发生写实拷贝,给子进程要修改的数据重新开辟一块物理空间,再将重新开辟的这块物理空间的地址填充入子进程的页表中,但此时页表中对应的虚拟地址并没有发生变化,所以可以看到父子进程访问同一个虚拟地址却打印出不同的内容...所以,进程地址空间就是数据结构,具体到进程中,就是特定数据结构的对象! 二、为什么要有进程地址空间和页表 1、将物理内存从无序变成有序,让进程以统一的视角看待内存。

    14410
    领券