Linux查看cpu和磁盘占有率的指令,以及查看内存泄漏

查看磁盘使用情况

 df

-a, --all 列出包括BLOCK为0的文件系统
--block-size=SIZE use SIZE-byte blocks   指定块的大小
-h,--huma-readable" 用常见的格式显示出大小(例如:1K 234M 2G)
-H,--si" 同上,但是这里的1k等于1000字节而不是1024字节
-i, --inodes 用信息索引点代替块表示使用状况
-k, --kilobytes  指定块大小等于1024字节来显示使用状况
-l, --local    只显示本地文件系统使用状况
-m, --megabytes 以指定块大小等于1048576字节(1M)来显示使用状况

top

PID:进程ID

USER:进程所有者

PR:每个进程的优先级

NI:反应一个进程状态的优先级所对应的值

VIRT:进程占用虚拟内存

S:进程状态

COMMAND:进程启动命令名称

RES:进程占用物理内存

SHR:进程占用共享内存

CPU%:一个进程占有CPU的百分比

MEM%:一个进程占用物理内存的百分比

TIME+:该进程启动后占用总的CPU时间

free:

total:磁盘总大小

used:磁盘已用大小

free:磁盘剩余大小

shared:进程共享总额

buff/cache:磁盘缓存大小

ps aux --sort rss

  列出目前所有在运行的程序(和top相差不大)

cat /proc/{进程ID}/maps

  查看进程所占内存空间

如何在Linux下检测内存泄漏?

  mtrace:

#include<stdio.h>
#include<stdlib.h>
#include<mcheck.h>
int main()
{
   setenv("MALLOC_TRACE","out_put",1);
   mtrace();
   int *p = (int *)malloc(2*sizeof(int));
   return 0;
}

gcc -g test.c -o test

./test

mtrace test out_put

Memory not freed:
-----------------
   Address     Size     Caller
0x09b08378      0xa  at test.c:8

猜你喜欢

转载自blog.csdn.net/Mrek_fast/article/details/89206940