比较线程子进程 占用的内存情况

文章目录

  • 比较线程子进程 占用的内存情况
    • 遇到问题
    • 测试单独的进程占内存情况
    • 测试带一个线程的进程占用情况
    • 测试带一个子进程的进程占用情况
    • 所有的内存信息的统计

遇到问题

实际开发中,需要起一个线程进行对定时器处理,这样会处理的及时一些。不会被其它的工作所耽搁。

测试单独的进程占内存情况

#include <stdio.h>
#include <unistd.h>main()
{while(1){sleep(1);}return 0;
}

gcc -o test test.c

./ test &
ps aux | grep test
user+ 61035 0.0 0.0 4204 632 pts/6 S 14:57 0:00 ./test

测试带一个线程的进程占用情况

#include <stdio.h>
#include <unistd.h>
#include <pthread.h>void* thread(void* arg){while(1){sleep(1);}
}main()
{pthread_t thread1;if(pthread_create(&thread1,NULL,thread,NULL) < 0)perror("pthread_create error");while(1){sleep(1);}return 0;
}

$ ps aux | grep test1
user+ 61118 0.0 0.0 14704 724 pts/6 Sl 15:07 0:00 ./test1

测试带一个子进程的进程占用情况

#include <stdio.h>
#include <unistd.h>main()
{pid_t pid;pid = fork();if(-1 == pid){perror("fork error");}else if(pid == 0){while(1){sleep(1);}}else{while(1){sleep(1);}}return 0;
}

$ ps aux | grep test2
user+ 27334 0.0 0.0 4204 720 pts/6 S 15:18 0:00 ./test2
user+ 27335 0.0 0.0 4204 80 pts/6 S 15:18 0:00 ./test2

所有的内存信息的统计

说明 虚拟内存 物理内存
不带线程和子进程 4204 632
创建一个线程的进程 14704 808
创建一个子进程的主进程 4204 720
创建一个子进程的子进程 4204 80

说明:
按实际占用的物理内存来看,加一个线程占用808,加一个子进程的占用720+80 = 800. 感觉都差不多。加子进程的虚内存看着要小一些。

比较线程子进程 占用的内存情况相关推荐

  1. 【java】java 一个线程占用多少内存

    1.概述 偶然看到一个信息,说java的线程默认占用1M内存.然后我就查了查 线程堆栈也会申请内存.堆栈大小由 -Xss 选项指定,默认每个线程1M,幸运的是情况并非那么糟糕.操作系统会以延迟分配的方 ...

  2. 如何查看进程内存情况?

    文章目录 前言 查询进程内存情况 前言 由于我们项目中有时候需要查看某个进程所占用的内存情况,这里我们简单总结下技巧. 我们先在终端通过top指令,查看进程id号. 接下来,我们希望查看进程号pid为 ...

  3. 如何占用计算机内存,怎么减少电脑内存被占用

    我们一直在讨论如何加快电脑的运行速度,一直用清理系统垃圾,清理磁盘空间等各种各样的方法减轻电脑的负担,但是实际上,影响电脑运行速度的因素,其实就集中在CPU.硬盘以及内存三个条件上.今天学习啦小编要讲 ...

  4. linux 查询内存和核心数,Linux下查看操作系统信息、内存情况及cpu信息:cpu个数、核心数、线程数...

    1.查看物理CPU的个数 [root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc ...

  5. 分析java 线程占用内存_Java线程:保留的内存分析

    分析java 线程占用内存 本文将为您提供一个教程,使您可以确定活动应用程序Java线程中保留了多少Java堆空间 . 将提供来自Oracle Weblogic 10.0生产环境的真实案例研究,以使您 ...

  6. windows查询每个线程占用的内存_C#多线程

    一.基本概念 1.进程 首先打开任务管理器,查看当前运行的进程: 从任务管理器里面可以看到当前所有正在运行的进程.那么究竟什么是进程呢? 进程(Process)是Windows系统中的一个基本概念,它 ...

  7. Linux下实现脚本监测特定进程占用内存情况

    原文链接:http://blog.csdn.net/keheinash/article/details/50641090 内存泄露是C/C++程序员经常需要面对的问题,除了有效地经常查找出内存泄露的位 ...

  8. linux跑循环脚本占内存,Linux下实现脚本监测特定进程占用内存情况

    Linux系统下,我们可以利用以下命令来获取特定进程的运行情况: cat /proc/$PID/status 其中PID是具体的进程号,这个命令打印出/proc/特定进程/status文件的内容,信息 ...

  9. 本地执行php查看内存占用,查看页面执行php占用内存情况

    今天头脑一热,想看一下页面在执行的过程中占用了多少内存,我也不知道这样做的目的是什么,可能是出于我的惯性思维吧.不过这样做也不是完全没用, 你可以清楚的知道哪些页面占用的内存比较多,特别是对于使用共用 ...

最新文章

  1. 关于点击率模型,你知道这三点就够
  2. html如何让条数按序号输出,JS 怎么控制页面序号较智能的生成?
  3. 文末有彩蛋 | 第四周课程回顾与总结
  4. avalon.js 转义html,avalon模块的内建适配器
  5. linux直接用iso文件装服务,linux系统安装iso文件方法
  6. java项目怎么导出成jar_如何在eclipse将程序导出成jar文件
  7. markdown常见问题
  8. HDU-1285-确定比赛名次
  9. gitignore.io-程序猿值得拥有的智能生成gitignore文件的秘密武器
  10. Bitmap对图像的处理
  11. d06调试详细说明_PIC系列单片机配置字详细介绍(长期实践总结的压箱底资料)
  12. JavaScript中常见的字符串操作函数及用法汇总
  13. Tensorflow:estimator训练
  14. 【Python爬虫实战】使用Selenium爬某音乐歌曲及评论信息啦~
  15. Altium Designer 20的安装教程
  16. wordpress文章增加行楷和魏碑字体
  17. mil,mm与inch之间的转换
  18. 计算机ppt用快捷键,【搞定PPT】高效重复快捷键F4
  19. 深入理解安卓Activity
  20. HTML Purifier 4.3.0

热门文章

  1. 每周更新 | 在线面试「对话窗口」功能上线,公共题库题型等更新
  2. 精品电子书分享 – 《JavaScript Enlightenment.PDF》
  3. 举头望明月打计算机术语,有趣的中秋节灯谜
  4. NVMe系列专题之一:NVMe技术概述
  5. 【NVMe2.0b 8】NVMe 队列仲裁机制
  6. 区块链ICO是什么意思?回答所有你关于ICO的问题
  7. A Survey on Deep Learning Techniques for Stereo-based Depth Estimation论文阅读
  8. 1005:地球人口承载力估计(c++)
  9. 打印机与计算机接口大多数,打印机接口-西北师范大学.PPT
  10. python语义分割数据标签,将数字标签转彩色标签