精华内容
下载资源
问答
  • 我们的一台应用服务器,操作系统是Red Hat Linux,监控报警,/opt/applog文件系统使用率超阈值,整体容量为50G,但发现实际文件容量20G,剩下的30G空间是什么?我们知道,Linux环境下,任何事物,都是以文件的形式...

    我们的一台应用服务器,操作系统是Red Hat Linux,监控报警,/opt/applog文件系统使用率超阈值,整体容量为50G,但发现实际文件容量20G,剩下的30G空间是什么?

    我们知道,Linux环境下,任何事物,都是以文件的形式存在,系统在后台,为每个应用程序,分配了一个文件描述符,他为应用程序和操作系统之间的交互操作提供了通用的接口,既然是文件,就会占用空间,此时可以使用lsof指令,他可以列出,当前系统正在打开的文件。

    > lsof

    COMMAND      PID      USER   FD      TYPE    DEVICE  SIZE/OFF      NODE NAME

    ...

    filebeat  111442   app  1r      REG     253,3 209715229   1040407 /opt/applog/E.20171016.info.012.log

    filebeat  111442   app  2r      REG     253,3 209715254    385080 /opt/applog/E.20171015.info.001.log (deleted)

    ...

    表头各字段,含义如下:

    COMMAND:进程的名称
    PID:进程标识符
    USER:进程所有者
    FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等
    TYPE:文件类型,如DIR、REG等
    DEVICE:指定磁盘的名称
    SIZE:文件的大小
    NODE:索引节点(文件在磁盘上的标识)
    NAME:打开文件的确切名称

    可以看出,有一些行中,NAME标识了(deleted),

    /opt/applog/E.20171015.info.001.log (deleted)

    他的含义,就是这文件已被删除,但打开文件的句柄,并未关闭,再看COMMAND的名称是filebeat,USER进程所有者是app,这是我们的日志采集进程,app用户开启了filebeat进程。

    插播一下日志采集平台


    传统的开源日志平台,即ELK,由ElasticSearch、Logstash和Kiabana三个开源工具组成,其中,

    • Elasticsearch是个开源分布式搜索引擎,分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

    • Logstash是一个开源的采集工具,他可以对日志进行收集、过滤,并将其存储供以后使用。

    • Kibana是一个开源的图形Web工具,可以为Logstash和ElasticSearch提供日志分析友好的Web界面,可以汇总、分析和搜索重要数据日志。

    常见的部署图,如下所示,

    对于上面提到的filebeat又是什么?和ELK有什么联系?

    知乎上有一段大牛饶琛琳的介绍(《ELKstack权威指南》作者),非常精辟,

    引自https://www.zhihu.com/question/54058964/answer/137882919

    因为logstash是jvm跑的,资源消耗比较大,所以后来作者又用golang写了一个功能较少但是资源消耗也小的轻量级的logstash-forwarder。不过作者只是一个人,加入http://elastic.co公司以后,因为es公司本身还收购了另一个开源项目packetbeat,而这个项目专门就是用golang的,有整个团队,所以es公司干脆把logstash-forwarder的开发工作也合并到同一个golang团队来搞,于是新的项目就叫filebeat了。

    简单来讲,filebeat就是日志采集的进程agent,负责采集应用日志文件。

    对于我上面的这个问题,之所以有大量的(deleted),未释放文件句柄,还有个背景,就是由于磁盘空间非常有限,临时加了任务,每小时删除12小时前的日志,换句话说,定时任务会自动删除此时filebeat正在打开着的一些文件,于是这些文件,就变为了未释放的文件,因此实际文件删除了,但空间未被释放。


    解决方案1:


    为了迅速释放空间占用,最直接的方法,就是kill -9 filebeat进程,此时空间会释放。但并不是从根本解决,定时任务还会删除这些,filebeat打开的文件,导致空间满。


    解决方案2:


    filebeat的配置文件filebeat.yml,其实有两个参数,

    close_older: 1h

    说明:Close older closes the file handler for which were not modified for longer then close_older. Time strings like 2h (2 hours), 5m (5 minutes) can be used.

    即如果一个文件在某个时间段内没有发生过更新,则关闭监控的文件handle,默认1小时。

    force_close_files: false

    说明:This option closes a file, as soon as the file name changes. This config option is recommended on windows only. Filebeat keeps the files it's reading open. This can cause issues when the file is removed, as the file will not be fully removed until also Filebeat closes the reading. Filebeat closes the file handler after ignore_older. During this time no new file with the same name can be created. Turning this feature on the other hand can lead to loss of data on rotate files. It can happen that after file rotation the beginning of the new file is skipped, as the reading starts at the end. We recommend to leave this option on false but lower the ignore_older value to release files faster.

    即当文件名称有变化时,包括改名和删除,会自动关闭一个文件。

    这两个参数结合起来,根据应用需求,一个文件30分钟内不更新,则需要关闭句柄,文件改名或删除,需要关闭句柄,

    close_older: 30m

    force_close_files: true

    可以满足,filebeat采集日志,以及定时删除历史文件,这两个任务的基本要求。

    展开全文
  • Qt内存自动释放问题

    千次阅读 2019-04-25 16:40:51
    Qt内存自动释放问题Qt内存自动释放机制什么情况下窗口会销毁 Qt内存自动释放机制 1、Qt是靠父子对象机制实现内存自动释放的,QT的父子对象机制是在 QWidget和QOject中实现的。当我们使用父对象来创建一个对象的...

    Qt内存自动释放问题

    Qt内存自动释放机制

    1、Qt是靠父子对象机制实现内存自动释放的,QT的父子对象机制是在 QWidget和QOject中实现的。当我们使用父对象来创建一个对象的时候 ,父对象会把这个对象添加到自己的子对象列表中。当这个父对象被删除的时候,它会遍历它的子对象类表并且删除每一个子对象,然后子对象们自己再删除它们自己的子对象,这样递归调用直到所有对象都被删除
    2、main函数里面main widget/dialog/mainWindow是分配在栈上的,其他new出来的东西都以这个widget作为父亲。 当程序最后结束了,main widget弹栈。父类被销毁。子类跟着被销毁。 所以如果你自己new 出来的。没有父类,不删除就会造成内存泄漏。

    什么情况下窗口会销毁
    当我们将一个A窗口作为父窗口,B窗口作为A窗口的子窗口,如果直接关闭B窗口,由于主窗口不销毁,B窗口是不会被销毁的,会一直占内存。
    可以通过设置以下接口立即销毁:

    this->setAttribute(Qt::WA_DeleteOnClose, true);
    

    之后直接调close()关闭子窗口,即可成功释放new出来的内存。

    展开全文
  • linux释放cache内存

    万次阅读 2008-05-17 00:02:00
    linux释放cache内存细心的朋友会注意到,当你在linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法...

    linux下释放cache内存

    细心的朋友会注意到,当你在linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题.

    先来说说free命令

    [root@server ~]# free -m
                 total       used       free     shared    buffers     cached
    Mem:           249        163         86          0         10         94
    -/+ buffers/cache:         58        191
    Swap:          511          0        511

    其中:

    total 内存总数

    used 已经使用的内存数

    free 空闲的内存数

    shared 多个进程共享的内存总额

    buffers Buffer Cache和cached Page Cache 磁盘缓存的大小

    -buffers/cache 的内存数:used - buffers - cached

    +buffers/cache 的内存数:free + buffers + cached

    可用的memory=free memory+buffers+cached

    有了这个基础后,可以得知,我现在used为163MB,free为86,buffer和cached分别为10,94

    那么我们来看看,如果我执行复制文件,内存会发生什么变化.

    [root@server ~]# cp -r /etc ~/test/
    [root@server ~]# free -m
                 total       used       free     shared    buffers     cached
    Mem:           249        244          4          0          8        174
    -/+ buffers/cache:         62        187
    Swap:          511          0        511

    在我命令执行结束后,used为244MB,free为4MB,buffers为8MB,cached为174MB,天呐都被cached吃掉了.别紧张,这是为了提高文件读取效率的做法.

    引用[url]http://www.2qyou.com/thread-591-1-1.html[/url] 为了提高磁盘存取效率, Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。"

    那么有人说过段时间,linux会自动释放掉所用的内存,我们使用free再来试试,看看是否有释放>?

    [root@server test]# free -m
                 total       used       free     shared    buffers     cached
    Mem:           249        244          5          0          8        174
    -/+ buffers/cache:         61        188
    Swap:          511          0        511

    MS没有任何变化,那么我能否手动释放掉这些内存呢???回答是可以的!

    /proc是一个虚拟文件系统,我们可以通过对它的读写操作做为与kernel实体间进行通信的一种手段.也就是说可以通过修改/proc中的文件,来对当前kernel的行为做出调整.那么我们可以通过调整/proc/sys/vm/drop_caches来释放内存.操作如下:

    [root@server test]# cat /proc/sys/vm/drop_caches
    0
    首先,/proc/sys/vm/drop_caches的值,默认为0

    [root@server test]# sync

    手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行 sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)

    [root@server test]# echo 3 > /proc/sys/vm/drop_caches
    [root@server test]# cat /proc/sys/vm/drop_caches
    3

    将/proc/sys/vm/drop_caches值设为3

    [root@server test]# free -m
                 total       used       free     shared    buffers     cached
    Mem:           249         66        182          0          0         11
    -/+ buffers/cache:         55        194
    Swap:          511          0        511

    再来运行free命令,发现现在的used为66MB,free为182MB,buffers为0MB,cached为11MB.那么有效的释放了buffer和cache.

    有关/proc/sys/vm/drop_caches的用法在下面进行了说明

    /proc/sys/vm/drop_caches (since Linux 2.6.16)
    Writing  to  this  file  causes the kernel to drop clean caches,
    dentries and inodes from memory, causing that memory  to  become
    free.

    To  free  pagecache,  use  echo 1 > /proc/sys/vm/drop_caches; to
    free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
    to   free   pagecache,   dentries  and  inodes,  use  echo  3  >
    /proc/sys/vm/drop_caches.

    Because this is a non-destructive operation  and  dirty  objects
    are not freeable, the user should run sync(8) first.
    展开全文
  • 总有很多朋友对于Linux的内存管理有...当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching。这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的...

    总有很多朋友对于Linux的内存管理有疑问,之前一篇linux下的内存管理方式似乎也没能清除大家的疑虑。而在新版核心中,似乎对这个问题提供了新的解决方法,特转出来给大家参考一下。最后,还附上我对这方法的意见,欢迎各位一同讨论。

    当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching。这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法。那么我来谈谈这个问题。

    一、通常情况

    先来说说free命令:
    # free -m
    total used free shared buffers cached
    Mem: 249 163 86 0 10 94
    -/+ buffers/cache: 58 191
    Swap: 511 0 511

    其中:
    total 内存总数
    used 已经使用的内存数
    free 空闲的内存数
    shared 多个进程共享的内存总额
    buffers Buffer Cache和cached Page Cache 磁盘缓存的大小
    -buffers/cache (已用)的内存数:used - buffers - cached
    +buffers/cache(可用)的内存数:free + buffers + cached
    可用的memory=free memory+buffers+cached

    有了这个基础后,可以得知,我现在used为163MB,free为86MB,buffer和cached分别为10MB,94MB。
    那么我们来看看,如果我执行复制文件,内存会发生什么变化。

    cp -r /etc ~/test/
    # free -m
    total used free shared buffers cached
    Mem: 249 244 4 0 8 174
    -/+ buffers/cache: 62 187
    Swap: 511 0 511

    在我命令执行结束后,used为244MB,free为4MB,buffers为8MB,cached为174MB,天呐,都被cached吃掉了。别紧张,这是为了提高文件读取效率的做法。

    为了提高磁盘存取效率,Linux做了一些精心的设计,除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换),还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如readwrite,getdents)的时间。

    那么有人说过段时间,linux会自动释放掉所用的内存。等待一段时间后,我们使用free再来试试,看看是否有释放?
    # free -m
    total used free shared buffers cached
    Mem: 249 244 5 0 8 174
    -/+ buffers/cache: 61 188
    Swap: 511 0 511

    似乎没有任何变化。(实际情况下,内存的管理还与Swap有关)那么我能否手动释放掉这些内存呢?回答是可以的!

    二、手动释放缓存

    /proc是一个虚拟文件系统,我们可以通过对它的读写操作做为与kernel实体间进行通信的一种手段。也就是说可以通过修改/proc中的文件,来对当前kernel的行为做出调整。那么我们可以通过调整/proc/sys/vm/drop_caches来释放内存。操作如下:

    cat /proc/sys/vm/drop_caches
    0
    首先,/proc/sys/vm/drop_caches的值,默认为0。

    sync
    手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)

    echo 3 > /proc/sys/vm/drop_caches
    # cat /proc/sys/vm/drop_caches
    3
    将/proc/sys/vm/drop_caches值设为3

    # free -m
    total used free shared buffers cached
    Mem: 249 66 182 0 0 11
    -/+ buffers/cache: 55 194
    Swap: 511 0 511

    再来运行free命令,会发现现在的used为66MB,free为182MB,buffers为0MB,cached为11MB。那么有效的释放了buffer和cache。

    有关/proc/sys/vm/drop_caches的用法在下面进行了说明
    /proc/sys/vm/drop_caches (since Linux 2.6.16)
    Writing to this file causes the kernel to drop clean caches,dentries and inodes from memory, causing that memory to become free.
    To free pagecache, use echo 1 > /proc/sys/vm/drop_caches;
    to free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
    to free pagecache, dentries and inodes, use echo 3 > /proc/sys/vm/drop_caches.
    Because this is a non-destructive operation and dirty objects are not freeable, the user should run sync first.

    三、我的意见
    上述文章就长期以来很多用户对Linux内存管理方面的疑问,给出了一个比较“直观”的回复,我更觉得有点像是核心开发小组的妥协。对于是否需要使用这个值,或向用户提及这个值,我是有保留意见的:

    • man可以看到,这值从2.6.16以后的核心版本才提供,也就是老版的操作系统,如红旗DC 5.0、RHEL 4.x之前的版本都没有;
    • 若对于系统内存是否够用的观察,我还是原意去看swap的使用率和si/so两个值的大小;

    用户常见的疑问是,为什么free这么小,是否关闭应用后内存没有释放?但实际上,我们都知道这是因为Linux对内存的管理与Windows不同,free小并不是说内存不够用了,应该看的是free的第二行最后一个值:-/+ buffers/cache: 58 191,这才是系统可用的内存大小。

    实际项目中告诉我们,如果因为是应用有像内存泄露、溢出的问题,从swap的使用情况是可以比较快速可以判断的,但free上面反而比较难查看。相反,如果在这个时候,我们告诉用户,修改系统的一个值,“可以”释放内存,free就大了。用户会怎么想?不会觉得操作系统“有问题”吗?所以说,我觉得既然核心是可以快速清空buffer或cache,也不难做到(这从上面的操作中可以明显看到),但核心并没有这样做(默认值是0),我们就不应该随便去改变它。一般情况下,应用在系统上稳定运行了,free值也会保持在一个稳定值的,虽然看上去可能比较小。

    当发生内存不足、应用获取不到可用内存、OOM错误等问题时,还是更应该去分析应用方面的原因,如用户量太大导致内存不足、发生应用内存溢出等情况,否则,清空buffer,强制腾出free的大小,可能只是把问题给暂时屏蔽了。

    我觉得,排除内存不足的情况外,除非是在软件开发阶段,需要临时清掉buffer,以判断应用的内存使用情况;或应用已经不再提供支持,即使应用对内存的时候确实有问题,而且无法避免的情况下,才考虑定时清空buffer。(可惜,这样的应用通常都是运行在老的操作系统版本上,上面的操作也解决不了)。而生产环境下的服务器可以不考虑手工释放内存,这样会带来更多的问题。记住内存是拿来用的,不是拿来看的。不像windows。

    无论你的真实物理内存有多少,他都要拿硬盘交换文件来读。这也就是windows为什么常常提示虚拟空间不足的原因,你们想想多无聊,在内存还有大部分的时候,拿出一部分硬盘空间来充当内存。硬盘怎么会快过内存,所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少。如果常常swap用很多,可能你就要考虑加物理内存了,这也是linux看内存是否够用的标准哦。当然这仅代表我个人意见,也欢迎大家来交流讨论。

    以上内容转载于考试大,下面是我写的一个内存释放的脚本,分享给大家:

    # vim /root/satools/freemem.sh

    #!/bin/bash
    
    used=`free -m | awk 'NR==2' | awk '{print $3}'`
    free=`free -m | awk 'NR==2' | awk '{print $4}'`
    
    echo "===========================" >> /var/log/mem.log
    date >> /var/log/mem.log
    echo "Memory usage | [Use:${used}MB][Free:${free}MB]" >> /var/log/mem.log
    
    if [ $free -le 100 ] ; then
                    sync && echo 1 > /proc/sys/vm/drop_caches
                    sync && echo 2 > /proc/sys/vm/drop_caches
                    sync && echo 3 > /proc/sys/vm/drop_caches
                    echo "OK" >> /var/log/mem.log
    else
                    echo "Not required" >> /var/log/mem.log

    将脚本添加到crond任务,定时执行。
    # echo "*/30 * * * * root /root/satools/freemem.sh" >> /etc/crondtab


    展开全文
  • Linux 2.6内核cpio initrd释放资源的处理

    千次阅读 2012-06-20 13:47:32
    转自:http://linux.chinaunix.net/techdoc/system/2008/08/16/1025606.shtml  以前一直在使用image-initrd的格式,也就是Linux 2.4内核当中所使用的格式,即便在升级到2.6内核以后,也依然如此,虽然2.6...
  • 我们知道程序在运行的过程中是需要占用一定内存的,一般程序所需要的内存由操作系统来分配,由操作系统分配的,自然需要由操作系统回收。但是在实际开发中,用户...当程序退出后,动态申请的内存会自动释放吗? ...
  • LinuxLinux常用命令

    万次阅读 2018-05-29 09:55:03
    Linux是一个可靠的、高性能的系统,而所有的这些优越性只有在直接使用Linux命令行时才能充分地体现出来。Linux系统安装成功后,就可以进入到与Windows类似的图形化界面了。这个界面就是Linux图形化界面X窗口系统的一...
  • linux平台上却没这么简单。一种查内存泄漏的方法就是通过重载申请和释放内存的操作。重载函数中除了完成原有的申请/释放操作,还要对该操作作记录。通过标记出所有申请内存和释放内存的地方并做统计的方法来查找...
  • LinuxLinux基础知识(Linux模块)

    万次阅读 2018-07-14 18:51:17
    Linux的内核模块机制允许开发者动态的向内核添加功能,我们常见的文件系统、驱动程序等都可以通过模块的方式添加到内核而无需对内核重新编译,这在很大程度上减少了操作的复杂度。模块机制使内核预编译时不必包含很...
  • stackoverflow有人问了这么一个问题,下面这段程序执行完毕后,malloc的内存会释放吗 int main () { int *p = malloc(10 * sizeof *p); *p = 42; return 0; //Exiting without freeing the allocated memory } ...
  • 这是我前几天在马哥的带领下写的6个脚本,他们串起来就可以实现(一)篇一所有的功能,很方便吧我们以后要通过不断倒腾这个小linux,来由浅入深的学习linux的系统构架和调优,最后实现编译内核,真正意义上打造自己...
  •  我们的一台应用服务器,操作系统是Red Hat Linux,监控报警,/opt/applog文件系统使用率超阈值,整体容量为50G,但发现实际文件容量20G,剩下的30G空间是什么?   我们知道,Linux环境下,任何事物,...
  • no new no delete 写了一个简单类,运行的时候报了个错 ,下决心好好看下内存相关知识 class ConstChar{ public: ConstChar(const char *data, int size){ m_data = new char[size]; m_data = data;/...
  • Linux常用命令大全(非常全!!!)

    万次阅读 多人点赞 2019-07-25 16:40:12
    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解...
  • 程序在运行的时候用malloc 或new 申请任意多少的内存,程序员自己负责在何时用free 或delete 释放内存。动态内存的生存期由程序员决定,使用非常灵活,但问题也最多。  所谓动态内存分配就是指在程序执行...
  • Linux的SOCKET编程详解

    万次阅读 多人点赞 2012-04-10 17:44:52
    Linux的SOCKET编程详解 1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统为进程...
  • linux命令大全详解

    千次阅读 2017-06-09 17:32:10
    女朋友要考linux,so,特意整理了linux的一些命令,嗯,得恶补一下了。
  • 从零开始学习Linux笔记

    万次阅读 多人点赞 2020-05-15 19:12:14
    从零开始学习Linux,记录笔记,担心自己以后会忘,也供大家茶余饭后,闲来无事看看,自己的理解只能到这,也希望大家可以指出我的错误 让我可以有一点点进步,以后会一直更新
  • Linux CFS调度器之唤醒抢占 日期 内核版本 架构 作者 GitHub CSDN 2016-07-05 Linux-4.6 X86 & arm gatieme LinuxDeviceDrivers Linux进程管理与调度 CFS负责处理普通非实时进程, 这类进程是我们linux中...
  • MX Linux

    千次阅读 2020-08-07 16:15:47
    MX Linux 学习笔记 作者:解琛 时间:2020 年 8 月 1 日 一、Ubuntu 学习 1.1 常用指令 1.1.1 which 1.1.2 cd 1.1.3 mkdir 1.1.4 touch 1.1.5 ls 1.1.6 输出重定向 1.1.7 rmdir 1.1.8 sudo 1.1.9 poweroff ...
  • Linux驱动程序编写

    千次阅读 2011-08-27 13:10:20
    工作需要写了我们公司一块网卡的Linux驱动程序。经历一个从无到有的过程,深感技术交流的重要。Linux作为挑战微 软垄断的强有力武器,日益受到大家的喜爱。真希望她能在中国迅速成长。把程序文档贴出来,希望和大家...
  • Linux命令集

    千次阅读 多人点赞 2014-04-09 20:31:31
    贴上常用的Linux命令集: 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一...
  • Linux进程上下文切换过程context_switch详解 日期 内核版本 架构 作者 GitHub CSDN 2016-06-14 Linux-4.6 X86 & arm gatieme LinuxDeviceDrivers Linux进程管理与调度 前面我们了解了linux进程调度器的...
  •  (2006-11-12 11:41:12) 转载   分类: 编程语言C 标 题: Re: new出来的空间系统会不会自动回收? 发信站: BBS 哈工大紫丁香站 (Sat May 15 09:25:05 2004)<br
  • linux

    万次阅读 2014-06-26 22:01:14
    linux Table of Contents 1 linux 1.1 proc filesystem 1.1.1 /proc 1.1.1.1 /proc/meminfo 1.1.1.2 /proc/stat 1.1.1.3 /proc/swaps 1.1.1.4 /proc/cmdline 1.1.1.5 /proc/uptime ...
  • Linux Socket编程(不限Linux

    千次阅读 2011-09-27 15:15:27
    socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。我的理解就是Socket就是该模式的一个实现,socket即是一种特殊的文件,一些...
  • Linux基础教程

    万次阅读 多人点赞 2019-06-16 11:08:09
    linux中,最最重要的就是命令,这就包含了2个过程,输入和输出 输入:输入当然就是打开终端,然后按键盘输入,然后按回车,输入格式一般就是这类的 #创建一个名为 file 的文件,touch是一个命令 $ touch file #...
  • linux & windows C++开发差异

    千次阅读 2017-11-03 17:46:19
    linux下区分大小写,路径分隔符使用”/”。 2、itoa()函数在linux下并不存在。 所以使用类似sprintf();之类的函数是个不错的替代。(为什么说是类似函数,看下面一条啦) 3、 _snprintf()与_vsnprintf()的差别...
  • Linux 0.01 内存管理

    万次阅读 2020-08-15 11:01:26
    Linux 源码下载路径位于 https://mirrors.edge.kernel.org/pub/linux/kernel/,这篇博客所需要的 0.01 版本源码通过点击链接 https://mirrors.edge.kernel.org/pub/linux/kernel/Historic/linux-0.01.tar.gz 可下载...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 60,624
精华内容 24,249
关键字:

linuxnew自动释放

linux 订阅