Linux 处理CPU和内存参数的方式总结

Posted 济南小老虎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 处理CPU和内存参数的方式总结相关的知识,希望对你有一定的参考价值。

Linux 处理CPU和内存参数的方式总结


关闭NUMA,关闭透明大页

比较简单的方法: 
vim /etc/default/grub
在 GRUB_CMDLINE_LINUX 里面添加配置: 
transparent_hugepage=never numa=off
修改后的配置为:
GRUB_CMDLINE_LINUX="resume=/dev/mapper/uos-swap rd.lvm.lv=uos/root rd.lvm.lv=uos/swap \\
video=efifb:off rhgb console=tty0 crashkernel=512M transparent_hugepage=never numa=off"
生成新的的启动脚本: 
grub2-mkconfig -o /boot/grub2/grub.cfg 

效果查看

lscpu
numa没有节点信息
numastat
看不到任何numa节点的内容

grep Huge /proc/meminfo
看到 AnonHugePages: 非0值 说明是启用状态.

关闭超线程

sudo sh -c \'echo off > /sys/devices/system/cpu/smt/control\'
这个命令可以关闭超线程
sudo sh -c \'echo on > /sys/devices/system/cpu/smt/control\'
这个命令可以打开超线程

效果查看

htop
查看CPU的总数.
lscpu
查看在线和offline的CPU个数信息.

开启关闭部分核心

echo 0 > /sys/devices/system/cpu/cpu31/online
echo 0 > /sys/devices/system/cpu/cpu63/online
echo 0 > /sys/devices/system/cpu/cpu95/online
echo 0 > /sys/devices/system/cpu/cpu127/online

开启很简单:
echo 1 > /sys/devices/system/cpu/cpu31/online
echo 1 > /sys/devices/system/cpu/cpu63/online
echo 1 > /sys/devices/system/cpu/cpu95/online
echo 1 > /sys/devices/system/cpu/cpu127/online

查看CPU的启停状态

lscpu 一般结果为:
在线 CPU 列表:                  0-30,32-62
离线 CPU 列表:                  31,63-127

如果没有执行 smt 的设置为:
在线 CPU 列表:                  0-30,32-62,64-94,96-126
离线 CPU 列表:                  31,63,95,127

禁止CPU被自动调度的方式

禁止被调度的CPU可以通过 taskset的方式绑定过去
这种方式的绑核性能更加好一些.
基本上不会有上下文切换, 性能是最好的. 

vim /boot/grub2/grub.cfg

同样在 GRUB_CMDLINE_LINUX 处增加设置为:
isolcpus=31,63,95,127
注意只能用逗号分隔,不能使用空间方式

然后执行 grub2-mkconfig -o /boot/grub2/grub.cfg 
重启服务器就可以了

手工调度

taskset -c 31,63,95,127 do-something-command

注意 taskset 的命令可以使用 区间 "-" 也可以使用 枚举"," 方式进行绑定

offline和isolcpus的区别

offline 直接无法使用了.
isolcpus 仅是系统的进程调度不会自己调度到这个内核上面运行.

offline 之后无法进行绑定
isolcpus 之后可以进行绑定 性能最优.

linux 查看CPU内存 网络 流量 磁盘 IO

使用vmstat命令来察看系统资源情况

在命令行方式下,如何查看CPU、内存的使用情况,网络流量和磁盘I/O?

Q: 在命令行方式下,如何查看CPU、内存的使用情况,网络流量和磁盘I/O?

A: 在命令行方式下,

1. 查看CPU使用情况的命令

每5秒刷新一次,最右侧有CPU的占用率的数据

$ vmstat 5

top 然后按Shift+P,按照进程处理器占用率排序

$ top

 

2. 查看内存使用情况的命令

用free命令查看内存占用情况

$ free

top 然后按Shift+M, 按照进程内存占用率排序

$ top

 

3. 查看网络流量

可以用工具iptraf工具

$ iptraf -g

针对某个Interface的网络流量可以通过比较两个时间网络接口的RX和TX数据来获得

$ date; ifconfig eth1

$ date; ifconfig eth1

 

4. 查看磁盘i/o

用iostat查看磁盘/dev/sdc3的磁盘i/o情况,每两秒刷新一次

$ iostat -d -x /dev/sdc3 2

用vmstat查看io部分的信息

 

Linux 查看CPU,内存,硬盘

 

1 查看CPU

1.1 查看CPU个数

# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l

uniq命令:删除重复行;wc –l命令:统计行数**

 

1.2 查看CPU核数

# cat /proc/cpuinfo | grep "cpu cores" | uniq

cpu cores : 4

 

1.3 查看CPU型号

# cat /proc/cpuinfo | grep ‘model name‘ |uniq

model name : Intel(R) Xeon(R) CPU E5630 @ 2.53GHz

总结:该服务器有2个4核CPU,型号Intel(R) Xeon(R) CPU E5630 @ 2.53GHz

 

2 查看内存

2.1 查看内存总数

#cat /proc/meminfo | grep MemTotal

MemTotal: 32941268 kB //内存32G

 

3 查看硬盘

3.1 查看硬盘大小

# fdisk -l | grep Disk

Disk /dev/cciss/c0d0: 146.7 GB, 146778685440 bytes

总结:硬盘大小146.7G,即厂商标称的160G

 

以上是关于Linux 处理CPU和内存参数的方式总结的主要内容,如果未能解决你的问题,请参考以下文章

全面总结查看Linux全部硬件信息

Linux下查看内存使用情况方法总结

linux 查看CPU内存 网络 流量 磁盘 IO

Linux查看CPU和内存使用情况总结

鸟哥linux私房菜总结

在linux 下怎么查看服务器的cpu和内存的硬件信息