mysql内存使用情况

Posted 殷桃丸子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql内存使用情况相关的知识,希望对你有一定的参考价值。

可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:

 (1)top

  top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

  可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
  $ top -u oracle

内容解释:

  PID:进程的ID
  USER:进程所有者
  PR:进程的优先级别,越小越优先被执行
  NInice:值
  VIRT:进程占用的虚拟内存
  RES:进程占用的物理内存
  SHR:进程使用的共享内存
  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  %CPU:进程占用CPU的使用率
  %MEM:进程使用的物理内存和总内存的百分比
  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  COMMAND:进程启动命令名称

  常用的命令:

  P:按%CPU使用率排行
  T:按MITE+排行
  M:按%MEM排行

(2)pmap

  可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:
  $ pmap -d 14596

 (3)ps

  如下例所示:
  $ ps -e -o ‘pid,comm,args,pcpu,rsz,vsz,stime,user,uid‘  其中rsz是是实际内存
  $ ps -e -o ‘pid,comm,args,pcpu,rsz,vsz,stime,user,uid‘ | grep oracle |  sort -nrk5
  其中rsz为实际内存,上例实现按内存排序,由大到小

 

查看占用内存最高的5个进程

ps aux | sort -k4nr | head -n 5

查看占用CPU最高的5个进程

ps aux | sort -k3nr | head -n 5

 

查看所有信息使用命令

ps aux

# ps aux |more
USER       PID %CPU %MEM   VSZ  RSS  TTY                   STAT     START   TIME     COMMAND
root         1        0.0  0.0       4772  564 ?                         S        Sep22   0:03     init [3]
root         2        0.0  0.0        0    0        ?                         S        Sep22   0:03     [migration/0]
root         3        0.0  0.0        0    0        ?                         SN      Sep22   0:00     [ksoftirqd/0]
root         4        0.0  0.0        0    0        ?                         S        Sep22   0:02     [migration/1]
root         5        0.0  0.0        0    0        ?                         SN      Sep22   0:00     [ksoftirqd/1]
root         6        0.0  0.0        0    0        ?                         Ss+     Sep22   0:02     [migration/2]
root         7        0.0  0.0        0    0        ?                         SN      Sep22   0:00     [ksoftirqd/2]
root         8        0.0  0.0        0    0        ?                         S        Sep22   0:00     [migration/3]
root         9        0.0  0.0        0    0        ?                         SN      Sep22   0:00     [ksoftirqd/3]
root        10       0.0  0.0        0    0        ?                         S<      Sep22    0:00     [migration/4]

上述欄位解釋:

USER 进程的属主;
PID   进程的ID;
PPID    父进程;
%CPU   进程占用的CPU百分比;
%MEM  占用内存的百分比;
NI        进程的NICE值,数值大,表示较少占用CPU时间;
VSZ     該进程使用的虚拟內存量(KB);
RSS     該進程占用的固定內存量(KB)(驻留中页的数量);
TTY     該進程在那個終端上運行(登陸者的終端位置),若與終端無關,則顯示(?)。若為pts/0等,則表示由網絡連接主機進程
WCHAN  當前進程是否正在進行,若為-表示正在進行;
START   該進程被觸發启动时间;
TIME      該进程實際使用CPU運行的时间;
COMMAND   命令的名称和参数;

STAT狀態位常見的狀態字符

D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换  (从内核2.6开始无效);
X 死掉的进程   (基本很少見);
Z 僵尸进程;
< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存;
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ 位于后台的进程组;

 
3
 

 

以上是关于mysql内存使用情况的主要内容,如果未能解决你的问题,请参考以下文章

df 报告磁盘使用情况,但在共享内存 /dev/shm 中没有文件

如何使用模块化代码片段中的LeakCanary检测内存泄漏?

带有 UI 和内存泄漏的保留片段

C 中的共享内存代码片段

linux中怎么查看mysql数据库版本

mysql内存使用情况