Linux Command - Memory
Linux 内存相关命令
查看系统内存
# free -h
total used free shared buff/cache available
Mem: 251G 40G 1.4G 4.0G 209G 206G
Swap: 4.0G 3.7G 312M
内存占用 TOP N
# ps aux | sort -k4,4nr | head -n 5
200 139348 227 6.9 38668500 18410776 ? Ssl 3月10 1905:49 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-2.el8_3.x86_64/jre/bin/java...org.sonatype.nexus.karaf.NexusMain
mysql 33407 1.2 2.2 349722012 6012524 ? Sl 2021 4596:18 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql
mysql 118257 0.4 0.5 10170064 1536084 ? Ssl 2月28 66:04 /usr/share/elasticsearch/jdk/bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC
root 42564 9.6 0.5 38919648 1389108 ? Sl 09:28 1:33 /usr/local/openjdk-8/bin/java -classpath /builds/rc/rm/rc-rm-hl/rm-hl-xz/.mvn/wrapper/maven-wrapper.jar
mysql 164658 0.2 0.3 19675724 792648 ? Sl 2021 343:28 /opt/java/openjdk/bin/java -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75
查看某一进程内存信息
# top -p 139348
top - 09:40:19 up 263 days, 9:43, 2 users, load average: 10.70, 12.23, 9.11
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 23.5 us, 2.3 sy, 0.0 ni, 74.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 26360806+total, 1585308 free, 41075156 used, 22094758+buff/cache
KiB Swap: 4194300 total, 330400 free, 3863900 used. 21742449+avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
139348 200 20 0 36.4g 17.6g 31824 S 1653 7.0 1838:31 java
- 物理内存占用 17.6GB
- 虚拟内存占用 36.4GB
- 内存使用率为 7.0%
查看某一进程内存实际值
# pidstat -p 139348 -r
Linux 3.10.0-1160.31.1.el7.x86_64 (10-1-207-194) 2022年03月11日 _x86_64_ (64 CPU)
09时59分22秒 UID PID minflt/s majflt/s VSZ RSS %MEM Command
09时59分22秒 200 139348 44.52 0.00 41064804 18410252 6.98 java
- minflt/s: 每秒次缺页错误次数 (minor page faults),虚拟内存地址映射成物理内存地址产生的 page fault 次数
- majflt/s: 每秒主缺页错误次数(major page faults),当虚拟内存地址映射成物理内存地址时,相应的page在swap中,这样的page fault为major page fault,一般在内存使用紧张时产生。
- VSZ: 该进程使用的虚拟内存(以kB为单位)。
- RSS: 该进程使用的物理内存(以kB为单位)。
- %MEM: 该进程使用内存的百分比。
- Command: 拉起进程对应的命令