个运行中的linux 程序内存占用,究竟占用了多少内存

linux下,一个运行中的程序,究竟占用了多少内存--相关文章
“” 的更多相关文章
Linux PS 命令详解。-e 显示所有进程,环境变量-f 全格式-h 不显示标题-l 长格式-w 宽输出a 显示终端上地所有进程,包括其他用户地进程r 只显示正在运行地进程x 显示没有控制终端地进程。USER: 进程所有者PID: 进程ID.$ psPID TTY TIME COMMAND5800 ttyp0 00:00:00 bash5835 ttyp0 00:00:00 ps可以看到,显示地项目共分为四项,依次为PID(进程ID)、TTY(终端名称)、TIME(进程执行时间)、COMMAND(该进程地命令行输入).
Linux ps命令详解与示例说明。ps:要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.-a : 显示现行终端机下的所有进程,包括其他用户的进程;· PID :该进程的进程ID号。
linux下动态库和静态库的制作。前3个步骤是我们的基本C语言代码都需要运行的,生成XX.o文件,最终向三个方向发展==&可执行文件,静态库,动态库。静态库之所以叫做静态库,是因为我们在我们的编译阶段,它已经把我们函数库的代码已经被载入可执行文件中了。综上所述,我们知道当要使用静态的程序库时,链接器会找出程序所需的函数,然后将它们拷贝到执行文件,由于这种拷贝是完整的,所以一旦连接成功,静态程序库也就不再需要了。
Linux查看程序端口占用情况今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用。使用命令:ps -aux | grep tomcat发现并没有8080端口的Tomcat进程。进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看就可以明确知道8080端口是被哪个程序占用了!方法二:直接使用 netstat -anp | grep portno即:netstat –apn | grep 8080.
Linux 查看某一进程的占用CPU的Cacti 脚本./bin/bashtop -n 1 &/root/top.logif grep -q mysqld /root/top.logthen cpu=`grep &mysqld& /root/top.log | gawk ''{ print $9 }''`echo $cpuelseecho &0&fi exit.根据显示的信息可以确定哪个进程正在运行、哪个进程被挂起、进程已运行了多久、进程正在使用的资源、进程的相对优先级,以及进程的标志号(PID)。%CPU表示运行该进程占用CPU的时间与该进程总的运行时间的比例。
10个重要的Linux ps命令实战。PS 命令是什么。PID: 运行着的命令(CMD)的进程编号TTY: 命令所运行的位置(终端)TIME: 运行着的该命令所占用的CPU处理时间CMD: 该进程所运行的命令。ps命令的另一个优势是ps是各种 Linux系统都默认安装的,因此你只要用就行了。(LCTT 译注:由于 ps 命令古老而重要,所以它在不同的 UNIX、BSD、Linux 等系统中的参数不尽相同,因此如果你用的不是 Linux 系统,请查阅你的文档了解具体可用的参数。)
父进程与子进程: 1、子进程是由一个进程所产生的进程,产生这个子进程的进程称为父进程。(避免出现孤儿进程, 僵尸进程) 前台进程和后台进程: 前台进程: 在Shell提示处打入命令后,创建一个子进程,运行命令,Shell等待命令退出,然后返回到对用户给出提示符。
[root@linux ~]# ps aux[root@linux ~]# ps -lA[root@linux ~]# ps axjf参数:-A :所有的 process 均显示出来,与 -e 具有同样的效用;[root@linux ~]# ps -lF S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD0 S 0
76 0 - 1303 wait pts/0 00:00:00 su4 S 0
75 0 - 1349 wait pts/0 00:00:00 bash4 R 0
76 0 - 1111 - pts/0 00:00:00 ps.
linux下memcached安装以及启动。1.由于memcached依赖于libevent,因此需要安装libevent。cd memcached-memcached-1.4.2../configure --prefix=/usr/local/memcached--with-libevent=ln-s /usr/local/libevent/lib/libevent-2.0.so.5/lib64/libevent-2.0.so.5../usr/local/memcached/bin/memcached -d -m 256 -u root -p 11211 -c1024 –P /tmp/memcached.pid.7.停止Memcache进程: kill `cat/tmp/memcached.pid`
$@ ---- 以&参数1& &参数2& ...形式保存所有参数$$ ---- 本程序的(进程ID号)PID$! ---- 上一个命令的PID.(gdb) attach pid // pid为要attach的进程号(gdb) stop // 先暂停该进程,因为要加断点和watch(gdb) 这里加断点和Watch(gdb) c // 即continue,让要调试的进程继续运行。7楼 yasi_xi
09:22发表 [回复] linux下的文件比较命令:commcomm命令格式:comm [-123] 文件1 文件2选项1、2或3抑制相应的列显示。
Linux 查看当前占用CPU或内存最多的5个进程。查使用内存最多的5个进程。top (然后按下M,注意大写)查使用CPU最多的5个进程。top (然后按下P,注意大写)
在运行结果中有一些后缀字符,其意义分别为Linux操作系统中,每个进程都是通过唯一的进程ID标识的。
glibc内存管理器。glibc每次通过系统调用的方式申请一大块内存(虚拟内存),当进程申请内存时,glibc就从自己获得的内存中取出一块给进程。glibc对于heap内存申请大于128k的内存申请,glibc采用mmap的方式向内核申请内存,这不能保证内存地址向上增长;针对小块内存的申请,在程序启动之后,进程会获得一个heap底端的地址,进程每次进行内存申请时,glibc会将堆顶向上增长来扩展内存空间,也就是我们所说的堆地址向上增长。
linux下的任务管理器 - Gerry的日志 - 网易博客linux下的任务管理器。top主要分为两个画面,上面的画面为整个系统的资源使用状态,基本上总共有六行, 显示的内容依序是: .第一行:显示系统已激活的时间、目前上线人数、系统整体的负载(load)。.第三行:显示的是 CPU 的整体负载,每个项目可使用 ?查阅。.%CPU:CPU 的使用率;一般来说,如果鸟哥想要找出最损耗 CPU 资源的那个程序时,大多使用的就是 top 这支程序啦!
Linux进程编程11.为什么计算机操作系统要引进进程 在操作系统中引入进程的目的是为了使多个程序并发执行 ,以改善资源利用率及提高系统吞吐量。5.进程和程序的区别 进程是动态的,程序是静态的。9.程序转化为进程通常需要经过以下步骤: 内核将程序读入内存,为程序分配内存空间 内核为该进程分配进程标识符(PID)和其他资源 内核为该进程保存PID及相应的状态信息,把进程放到运行队列中等待执行。
进程的概念与结构在进程创建前我们必须明白一个概念什么进程?pid_t pid pid_t pgrp pid和pgrp分别是运行进程的进程标识号和进程组标识号时间数据成员:long per_cpu_utime [ NR_CPUS ] per_cpu_stime[ NR_CPUS]per_cpu_utime 是用户态进程运行的时间, per_cpu_stime是内核态进程运行的时间进程创建时间unsigned long start_time文件系统数据成员:struct fs_struct* fsfs保存了进程本身与VFS( 虚拟文件系统)的关系信息。
The amount of additional memory used for the memory pools (if any) can be controlled using the environment variables MALLOC_ARENA_TEST and MALLOC_ARENA_MAX. MALLOC_ARENA_TEST specifies that a test for the number of cores is performed once the number of memory pools reaches this value.MALLOC_ARENA_MAX sets the maximum number of memory pools used, regardless of the number of cores.
Linux内存泄漏查询方法proc/status解释 在测试,特别是性能测试或者系统的稳定性测试中,内存的使用情况是一个很重要的监控点,不管是从资源使用的角度还是从发现内存泄露问题的角度。cat /proc/`ps -ef|grep hello | grep -v grep | awk ''{print $2}''`/status | grep -E ''VmSize|VmRSS|VmData|VmStk|VmExe|VmLib''在这里我们关注VmSize|VmRSS|VmData|VmStk|VmExe|VmLib 这个6个指标,下面有一些简单的解释。VmData: 1200064 kB.
vfork 挂掉的一个问题 | 酷 壳。意思是这样的—— 起初只有fork,但是很多程序在fork一个子进程后就exec一个外部程序,于是fork需要copy父进程的数据这个动作就变得毫无意了,而且这样干还很重(注:后来,fork做了优化,详见本文后面),所以,BSD搞出了个父子进程共享的 vfork,这样成本比较低。3)这时,父进程收到子进程exit(),开始从vfork返回,但是尼玛,老子的栈都被你子进程给return干废掉了,你让我怎么执行?
Linux内核OOM机制的详细分析 Linux内核OOM机制的详细分析
00:32:17 标签:linux Memory OOM版权声明:原创作品,谢绝转载!防止重要的系统进程触发(OOM)机制而被杀死:可以设置参数/proc/PID/oom_adj为-17,可临时关闭linux内核的OOM机制。以linux-3.3.6版本的kernel源码为例,路径为linux-3.6.6/include/linux/oom.h,阅读内核源码可知oom_adj的可调值为15到-16,其中15最大-16最小,-17为禁止使用OOM。
进程控制中主要涉及到进程的创建、睡眠和退出等,在Linux中主要提供了fork、exec、clone的进程创建方法,sleep的进程睡眠和exit的进程退出调用,另外Linux还提供了父进程等待子进程结束的系统调用wait。当前进程为父进程,通过fork()会产生一个子进程。fork函数可以创建一个子进程而当前进程不死,如果我们在fork的子进程中调用exec函数族就可以实现既让父进程的代码执行又启动一个新的指定进程,这实在是很妙的。
这一行的含义是说“core文件的大小限制为0(即关闭core文件/不产生core文件),单位是blocks;使用ulimit -c命令可以改变此值”。echo “/corefile/core-%e-%p-%t” & core_pattern ,这样可以将core文件统一生成到/corefile目录下,产生的文件名为core-命令名-pid-时间戳。我们可以使用gdb来查看core文件(core文件必须是完好的,比如如果我们限制的core文件大小比较小,导致core文件被截断,则gdb查看时将出错)。
/*为了测试内存占用情况,故意输入1G或更多内存需求*/ pid = fork(); if(pid == 0) { sleep(atoi(argv[1])); exit(0); } sleep(atoi(argv[2])); return 0;}然后分别运行上述两个程序,用ps命令和top命令观察,得到如下表面结论:1、两者的CPU占有率%CPU都02、两者的内存占有率%MEM:a-fork为0.5而a-thread为0.63、两个程序运行后ps都能看到两个进程(即a-fork进程有两个,a-thread进程也有两个)
老进程成为新进程的父进程(parent process),而相应的,新进程就是老的进程的子进程(child process)。我们可以看到,第二个进程bash是第一个进程sudo的子进程,而第三个进程ps是第二个进程的子进程。孤儿进程会被过继给init进程,init进程也就成了该进程的父进程。当然,一个糟糕的程序也完全可能造成子进程的退出信息滞留在kernel中的状况(父进程不对子进程调用wait函数),这样的情况下,子进程成为僵尸(zombie)进程。
linux下的共享库(动态库)和静态库
Linux 进程的虚拟内存。在装入程序映象文件时,系统根据程序映象文件中的信息为进程的代码段和数据段分别建立相应的虚拟内存区域(图 3-5 所示的即为某个程序映象装入后的代码段和数据段)。mlock 或 mlockall:利用这些系统调用可以禁止对某个虚拟内存区域,或整个虚拟内存(包括代码、数据和堆栈段、共享库、用户空间的内核数据、共享内存和内存映射文件等)的分页操作。
linux 程序分析工具http://blog.csdn.net/denny_233/article/details/linux程序分析工具介绍(一)—-”/proc”
在linux中静态库是以 .a 为后缀的文件,共享库是以 .so为后缀的文件。由此可见静态库和动态库都是对目标文件的处理,也可以说库文件已经是机器码文件了,静态库和共享库的加载过程有很大的区别。另外,.一个程序编好后,有时需要做一些修改和优化,如果我们要修改的刚好是库函数的话,在接口不变的前提下,使用共享库的程序只需要将共享库重新编译就可以了,而使用静态库的程序则需要将静态库重新编译好后,将程序再重新编译一便。
Linux中Kill进程的N种方法linux的进程管理手段丰富。改进4:$ps -ef | grep firefox | grep -v grep | cut -c 9-15 | xargs kill -s 9说明:“grep firefox”的输出结果是,所有含有关键字“firefox”的进程。$ pgrep firefox | xargs kill -s 9改进6:$ ps -ef | grep firefox | awk ''{print $2}'' | xargs kill -9kill: No such process有一个比较郁闷的地方,进程已经正确找到并且终止了,但是执行完却提示找不到进程。相关文章推荐:
linux下数据和程序合成一个可运行程序
1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有
(1). ps aux:
VSZ(或VSS)列 表示,程序占用了多少虚拟内存。
RSS列 表示, 程序占用了多少物理内存。
虚拟内存可以不用考虑,它并不占用实际物理内存。
(2). top 命令也可以
VIRT(或VSS)列
表示,程序占用了多少虚拟内存。 同 ps aux 中的 VSZ列
RES列 表...
阅读(0) 回复(0)
其他文章推荐
这是一个篇幅不长但是十分有用的教程,可以帮助你在终端启动一个linux应用程序,并且使终端窗口不会丢失焦点。
我们有很多可以在linux系统中打开一个终端窗口的方法,这取决于你的选择以及你的桌面环境。
如果是使用Ubuntu的话,你可以利用CTRL+ALT+T组合键打开终端。当然你也可以使用超级键(Windows键)打开Dash,搜索“TERM”,然后点击“Term”图标来打开终端窗口。
对于其他的桌面环境来说,例如XFCE、KDE、LXDE、Ci...
阅读(0) 回复(0)
当前使用的操作系统:ubuntu11.10
汇编程序由定义好的段构成,每个段都有不同的目的,三个最常用的段:
1)data 段
汇编程序 data(数据)段是可选的。
数据段声明带有初始值的数据元素,这些数据元素用作汇编程序的变量。
汇编程序 bss段 是可选的。
阅读(60) 回复(0)
linux下程序获得运行路径的简单程序.
/*******************************************************developer: Luciferuse fot: get program fullnameparameter: fullname buff
proargv argv[0]
fullnamelength buff lengthdate: *******************************************************/void getfullname( char *fullname, char *proargv, int fullnamelength){
阅读(30) 回复(0)
程序的链接和装入存在着多种方法,而如今最为流行的当属动态链接、动态装入方法。本文首先回顾了链接器和装入器的基本工作原理及这一技术的发展历史,然后通过实际的例子剖析了linux系统下动态链接的实现。了解底层关键技术的实现细节对系统分析和设计人员无疑是必须的,尤其当我们在面对实时系统,需要对程序执行时的时空效率有着精确的度量和把握时,这种知识更显重要。
链接器和装入器的基本工作原理
一个程序要想在内存中运行...
阅读(30) 回复(0)
由于需要一台机器有两个网卡,开始时设置在同一个网段的IP,发现数据总是从一个网卡发出,而另一个网卡上没有数据流动。网上找了下,发现相同的问题不少:
关于双网卡设置同一网段IP然后连接交换机的时候出现的奇怪现象。当时没有怎么思考、以为是生成树的缘故,不过后来一想不太对。初步做了一下实验:服务器为RHEL5 双网卡,eth0为234,eth1为233,我本地客户机为172。RHEL: ifconfig如下:[root@server1 ~]# ifconfigeth0...
阅读(0) 回复(0)
1.linux下启动mysql的命令:
$sudo /ect/init.d/mysql start
2.linux下重启mysql的命令:
$sudo /ect/init.d/mysql restart
3.linux下关闭mysql的命令:
$sudo /ect/init.d/mysql stop
4.连接本机上的mysql:
$sudo mysql -u root (mysql安装好后默认有一个root用户,首次以root进入是无需密码,建议进入mysql后新建一个普通用户)
$sudo mysql -u username -p (普通用户登录,回车后需要输入密码)
5.连接远程的...
Mysql/postgreSQL
阅读(90) 回复(0)
一、为什么要使程序在后台执行
我们计算的程序都是周期很长的,通常要几个小时甚至一个星期。我们用的环境是用putty远程连接到日本linux服务器。所以使程序在后台跑有以下三个好处:
1:我们这边是否关机不影响日本那边的程序运行。(不会像以前那样,我们这网络一断开,或一关机,程序就断掉或找不到数据,跑了几天的程序只能重头再来,很是烦恼)
2:不影响计算效率
2:让程序在后台跑后,不会占据...
阅读(0) 回复(0)
参考文章:
linux 动态库剖析
http://www.ibm.com/developerworks/cn/linux/l-dynamic-libraries/
为 linux 应用程序编写 DLL
http://www.ibm.com/developerworks/cn/linux/sdk/dll/index.html
linux 中的应用程序以以下两种方式之一链接到外部函数:要么在构建时与静态库( lib*.a ) 静态地链接,并且将库代码包含在该应用程序的可执行文件里;要么在运行时与共
享库( lib*.so ) 动态地链接。通过动态链接装入器,将动态库...
阅读(30) 回复(0)
本系列文章包括两篇,他们文周详地地介绍了linux系统下用户空间和内核空间数据交换的九种方式,包括内核启动参数、模块参数和sysfs、sysctl、系统调用、netlink、procfs、seq_file、debugfs和relayfs,并给出具体的例子帮助读者掌控这些技术的使用。本文是该系列文章的第二篇,他介绍了procfs、seq_file、debugfs和relayfs,并结合给出的例子程式周详地说明了他们怎么使用。
1、内核启动参数linux 提供了一种通过 bootloader 向其...
阅读(30) 回复(0)
本系列文章包括两篇,他们文周详地地介绍了linux系统下用户空间和内核空间数据交换的九种方式,包括内核启动参数、模块参数和sysfs、sysctl、系统调用、netlink、procfs、seq_file、debugfs和relayfs,并给出具体的例子帮助读者掌控这些技术的使用。本文是该系列文章的第二篇,他介绍了procfs、seq_file、debugfs和relayfs,并结合给出的例子程式周详地说明了他们怎么使用。
1、内核启动参数linux 提供了一种通过 bootloader 向其...
阅读(30) 回复(0)
盛拓传媒:
北京皓辰网域网络信息技术有限公司. 版权所有
北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证:编号(京)字第1149号
ITPUB推荐文章解答你所有技术难题linux下,一个运行中的程序,究竟占用了多少内存linux下,一个运行中的程序,究竟占用了多少内存
linux下,一个运行中的程序,究竟占用了多少内存
linux下,一个运行中的程序,究竟占用了多少内存
用free命可以查看总的系统内存占用和空闲情况 使用ps 或 top 命令可以查看某一程序内存使用情况 程序使用内存状况是动态的.查看的只是某一时间点的内存情况
可以使用top命令来查看,比如top -u oracle
linux下,一个运行中的程序,究竟占用了多少内存?——
RSS列 表示, 程序占用了多少物理内存。 虚拟内存可以不用考虑,它并不占用实际物理内存。 (2)....linux下,一个运行中的程序,究竟占用了多少内存——
这得看具体程序和具体执行的进程而定吧!得看当时内存里有多少进程,并且有多少是在运行,有多少是被挂起的...linux下,一个运行中的程序,究竟占用了多少内存——
这个需要设计该程序的人才知道,总体来讲,程序占用内存空间包括程序本身占用的内存和执行程序任务占用内存...linux下,一个运行中的程序,究竟占用了多少内存——
使用top命令查看,应该能看到,看不到的话,加上管道然后grep。linux下,一个运行中的程序,究竟占用了多少内存——
用free命可以查看总的系统内存占用和空闲情况 使用ps 或 top 命令可以查看某一程序内存使用情...linux下,一个运行中的程序,究竟占用了多少内存——
ps aux cat /proc/$pid/statm $pid 为进程号 输出解释 第一列 siz...linux下,一个运行中的程序,究竟占用了多少内存——
你可以通过top命令来查看到 输入top后,找到你运行的程序,在%MEM的就是你程序内存的占用情况linux下,一个运行中的程序,究竟占用了多少内存——
top -bn1 |grep yourprocess VIRT RES SHR就是内存相关linux下,一个运行中的程序,究竟占用了多少内存——
你可以通过top命令来查看到 输入top后,找到你运行的程序,在%MEM的就是你程序内存的占用情况linux下,一个运行中的程序,究竟占用了多少内存? 分享——
RSS列 表示, 程序占用了多少物理内存。 虚拟内存可以不用考虑,它并不占用实际物理内存。 (2)....

我要回帖

更多关于 测定程序运行占用内存 的文章

 

随机推荐