linux下查看内存频率,内核函数,cpu频率【转】

转自:https://www.cnblogs.com/lovesKey/p/10900501.html

查看CPU:

cat /proc/cpuinfo

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看每个物理CPU中core的个数(即核数) cat /proc/cpuinfo| grep "cpu cores"| uniq # 查看逻辑CPU的个数 cat /proc/cpuinfo| grep "processor"| wc -l # 查看CPU信息(型号) cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 
processor :系统中逻辑处理核的编号。对于单核处理器,则课认为是其CPU编号,对于多核处理器则可以是物理核、或者使用超线程技术虚拟的逻辑核
vendor_id :CPU制造商      
cpu family :CPU产品系列代号
model   :CPU属于其系列中的哪一代的代号
model name:CPU属于的名字及其编号、标称主频
stepping   :CPU属于制作更新版本
cpu MHz   :CPU的实际使用主频
cache size   :CPU二级缓存大小
physical id   :单个CPU的标号
siblings :单个CPU逻辑物理核数 core id :当前物理核在其所处CPU中的编号,这个编号不一定连续 cpu cores :该逻辑核所处CPU的物理核数 apicid :用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续 fpu :是否具有浮点运算单元(Floating Point Unit) fpu_exception :是否支持浮点计算异常 cpuid level :执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容 wp :表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection) flags :当前CPU支持的功能 bogomips :在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second) clflush size :每次刷新缓存的大小单位 cache_alignment :缓存地址对齐单位 address sizes :可访问地址空间位数 power management :对能源管理的支持,有以下几个可选支持功能:   ts:  temperature sensor   fid:  frequency id control   vid:  voltage id control   ttp:  thermal trip   tm:   stc:   100mhzsteps:   hwpstate: 

详细参考:https://blog.csdn.net/cuker919/article/details/7635488/

查看内存:

sudo cat /proc/meminfo
这个命令只能看当前内存大小,已用空间等等。

要查看内存型号、频率,使用命令(使用root才行):

sudo dmidecode -t memory
输出:

Memory Device
	Array Handle: 0x0024 Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: 16384 MB Form Factor: DIMM Set: None Locator: CPU0_A0 Bank Locator: CPU0_Bank0 Type: DDR3 Type Detail: Registered (Buffered) Speed: 1600 MT/s Manufacturer: Hynix Semiconducto Serial Number: 40FE6773 Asset Tag: Dimm0_AssetTag Part Number: HMT42GR7AFR4C-RD Rank: 2 Configured Clock Speed: 1600 MT/s 

查看系统运行时间:

cat /proc/uptime

406988.68 15804134.45
#第一个参数是系统从启动到现在经历的秒数
#406988.68/60/60/24=4.7天的样子.
#第二个参数 说的代表cpu空闲的时间. (所有的cpu空闲的时间,如你cpu1空闲1秒cpu2很忙没空闲.)所以我们要除去cpu所有的核心数 #15804134.45/40=395103.36124999996 #395103.36124999996/406988.68=0.9707969303961966 #大概97%时间是空闲的. 

查看内核IO地址映射:(物理内存地址分配情况)

cat /proc/iomem

root@ubsv:/home/makeit# cat /proc/iomem 00000000-00000fff : Reserved 00001000-000917ff : System RAM 00091800-0009ffff : Reserved 000a0000-000bffff : PCI Bus 0000:00 000c0000-000dffff : PCI Bus 0000:00 000c0000-000ce9ff : Video ROM 000cf000-000d89ff : Adapter ROM 000e0000-000fffff : Reserved 000f0000-000fffff : System ROM 00100000-7daf6fff : System RAM 7daf7000-7db36fff : Reserved 7db37000-7dd36fff : ACPI Tables 7dd37000-7e036fff : ACPI Non-volatile Storage 7e037000-7f316fff : Reserved 7f317000-7f317fff : System RAM 7f318000-7f39dfff : ACPI Non-volatile Storage 7f39e000-7f7fffff : System RAM 7f800000-7fffffff : RAM buffer 80000000-dfffffff : PCI Bus 0000:00 80000000-8fffffff : PCI MMCONFIG 0000 [bus 00-ff] 80000000-8fffffff : Reserved c0000000-d1ffffff : PCI Bus 0000:03 c0000000-cfffffff : 0000:03:00.0 d0000000-d1ffffff : 0000:03:00.0 d2800000-d2ffffff : PCI Bus 0000:08 d2800000-d2ffffff : PCI Bus 0000:09 d2800000-d2ffffff : 0000:09:00.0 d3000000-d34fffff : PCI Bus 0000:07 d3000000-d33fffff : 0000:07:00.0 d3000000-d33fffff : isci d3400000-d347bfff : 0000:07:00.0 d347c000-d347ffff : 0000:07:00.0 d347c000-d347ffff : isci de000000-df0fffff : PCI Bus 0000:03 de000000-deffffff : 0000:03:00.0 df080000-df083fff : 0000:03:00.1 df080000-df083fff : ICH HD audio df100000-df1fffff : PCI Bus 0000:08 df100000-df1fffff : PCI Bus 0000:09 df100000-df11ffff : 0000:09:00.0 df200000-df2fffff : PCI Bus 0000:07 df300000-df3000ff : 0000:00:1f.3 df301000-df3017ff : 0000:00:1f.2 df301000-df3017ff : ahci df302000-df3023ff : 0000:00:1d.0 df302000-df3023ff : ehci_hcd df303000-df3033ff : 0000:00:1a.0 df303000-df3033ff : ehci_hcd df305000-df30500f : 0000:00:16.1 df306000-df30600f : 0000:00:16.0 df307000-df307fff : 0000:00:05.4 dfffc000-dfffcfff : dmar1 e0000000-fbffffff : PCI Bus 0000:80 fbf00000-fbf00fff : 0000:80:05.4 fbffe000-fbffefff : dmar0 fc000000-fcffffff : pnp 00:00 fd000000-fdffffff : pnp 00:00 fe000000-feafffff : pnp 00:00 feb00000-febfffff : pnp 00:00 fec00000-fec003ff : IOAPIC 0 fec01000-fec013ff : IOAPIC 1 fec40000-fec403ff : IOAPIC 2 fed00000-fed003ff : HPET 0 fed00000-fed003ff : PNP0103:00 fed1c000-fed1ffff : Reserved fed1c000-fed1ffff : pnp 00:07 fed1f410-fed1f414 : iTCO_wdt.0.auto fed45000-fedfffff : pnp 00:00 fee00000-fee00fff : Local APIC ff000000-ffffffff : Reserved ff000000-ffffffff : pnp 00:07 100000000-87fffffff : System RAM 480c00000-4818031d0 : Kernel code 4818031d1-48226a6bf : Kernel data 4824e2000-48273dfff : Kernel bss 

查看上一次登陆:

last /var/log/wtmp 
/var/log/wtmp #是一个二进制文件, 记录了每个用户的登录次数和登录时间
它是二进制文件,vim无法正常读取的,应该使用last命令读取.
(如不存在,直接touch生成。可用rm删除)

reboot   system boot  4.15.0-48-generi Fri May 3 10:04 - 10:22 (00:17) makeit pts/0 10.1.1.2 Fri May 3 07:06 - 10:04 (02:58) makeit pts/1 10.1.1.2 Fri May 3 06:37 - 06:59 (00:21) makeit pts/1 10.1.1.2 Fri May 3 04:11 - 06:29 (02:17) makeit pts/0 10.1.1.2 Fri May 3 04:10 - 04:11 (00:01) reboot system boot 4.15.0-48-generi Fri May 3 03:49 - 10:04 (06:14) makeit tty1 Thu May 2 18:29 - down (00:03) reboot system boot 4.15.0-48-generi Thu May 2 18:27 - 18:32 (00:05) 

查看内核版本:

cat /proc/version 

Linux version 4.15.0-48-generic (buildd@lgw01-amd64-036) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019 或 Linux version 3.10.0-957.1.3.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 29 14:49:43 UTC 2018 

查看内核函数:

cat /proc/kallsyms
#非root用户内存地址为0.要注意哦

ffffffffa462e699 b pci_apply_fixup_final_quirks
ffffffffa462e6a0 b asus_rcba_base
ffffffffa462e6a8 b asus_hides_smbus
ffffffffa462e6ac b aspm_policy
ffffffffa462e6b0 b aspm_force
ffffffffa462e6b4 b aspm_disabled
ffffffffa462e6b8 B pciehp_msi_disabled
ffffffffa462e6b9 B pcie_ports_native
ffffffffa462e6ba B pcie_ports_disabled
ffffffffa462e6bc b aer_recover_ring_lock
ffffffffa462e6c0 b nosourceid
ffffffffa462e6c1 b forceload

查看系统启动参数:

cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-4.15.0-48-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro net.ifnames=0 biosdevname=0 maybe-ubiquity
或
BOOT_IMAGE=/boot/vmlinuz-3.10.0-957.1.3.el7.x86_64 root=UUID=f41e390f-835b-4223-a9bb-9b45984ddf8d ro console=tty0 console=ttyS0,115200n8 crashkernel=auto console=ttyS0,115200 LANG=en_US.UTF-8 

磁盘信息(这个文件一般人看不懂,有工具就是分析这个文件得到磁盘性能信息的):

cat /proc/diskstats

  1 sda1 1754 0 173182 2636 0 0 0 0 0 2288 2636 8 2 sda2 1410618 20823 314212148 7331640 17342234 176017 1018277592 4184991736 0 37218756 4202110004 8 3 sda3 297216 13604 15966929 5201952 2752169 7362710 295973221 115004336 1 9669588 120302544 8 16 sdb 901534 17836 117321096 1284332 10651545 6198248 717171056 163072144 0 9813644 164350192 8 17 sdb1 2625 0 24206 444 0 0 0 0 0 444 444 8 18 sdb2 726 10 40808 604 437 120 2047640 39208 0 1800 39808 8 19 sdb3 897879 17826 117246389 1283092 8801571 6198128 715123416 162152184 0 8947140 163434420 第1个域:读磁盘的次数,成功完成读的总次数; 第2个域:合并读次数; 第3个域:读扇区的次数,成功读过的扇区总次数; 第4个域:读花费的毫秒数,这是所有读操作所花费的毫秒数;//基准 第5个域:写完成的次数,成功写完成的总次数; 第6个域:合并写次数,为了效率可能会合并相邻的读和写。从而两次4K的读在它最终被处理到磁盘上之前可能会变成一次8K的读,才被计数(和排队),因此只有一次I/O操作,这个域使你知道这样的操作有多频繁; 第7个域:写扇区的次数,成功写扇区总次数; 第8个域:写花费的毫秒数,这是所有写操作所花费的毫秒数;//基准 第9个域:I/O的当前进度,只有这个域应该是0。当请求被交给适当的request_queue_t时增加和请求完成时减小; 第10个域:花在I/O操作上的毫秒数,这个域会增长只要field 9不为0; 第11个域:加权,花在I/O操作上的毫秒数,在每次I/O开始,I/O结束,I/O合并时这个域都会增加。这可以给I/O完成时间和存储那些可以累积的提供一个便利的测量标准。 

查看中断:
cat /proc/interrupts 

文件中列出当前系统使用的中断的情况,所以某个中断处理没有安装,是不会显示的。哪怕之前安装过,被卸载了。
从左到右分别是,
irq的序号, 在各自cpu上发生中断的次数,可编程中断控制器,设备名称(request_irq的dev_name字段)
           CPU0       CPU1       CPU2       CPU3       
  0:        205          0          0          0 IO-APIC-edge timer 1: 10 0 0 0 IO-APIC-edge i8042 4: 1467 0 0 432 IO-APIC-edge serial 6: 3 0 0 0 IO-APIC-edge floppy 8: 0 0 0 0 IO-APIC-edge rtc0 

/proc/stat #文件中有一行记录的机器从启动依赖,各个中断序号发生中断的次数。

这一行以intr开头,接下来的第一个数字是总的中断数目,之后就是分别的中断数目,从0开始。
intr 598618187 205 10 0 0 1899 0 3 0 0 0 31258 0 66 0 0 0 0 0 0 0 0 0 0 0 0 2561943 0 1972608 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

调整内存分配策略:

echo 2 > /proc/sys/vm/overcommit_memory 
echo 60 > /proc/sys/vm/overcommit_ratio

 0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
 1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
 2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

关于内存分配策略更详细请参考:
红帽大佬的文档

5.4. 容量调节

https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/6/html/performance_tuning_guide/s-memory-captun

查看CPU:

cat /proc/cpuinfo

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看每个物理CPU中core的个数(即核数) cat /proc/cpuinfo| grep "cpu cores"| uniq # 查看逻辑CPU的个数 cat /proc/cpuinfo| grep "processor"| wc -l # 查看CPU信息(型号) cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 
processor :系统中逻辑处理核的编号。对于单核处理器,则课认为是其CPU编号,对于多核处理器则可以是物理核、或者使用超线程技术虚拟的逻辑核
vendor_id :CPU制造商      
cpu family :CPU产品系列代号
model   :CPU属于其系列中的哪一代的代号
model name:CPU属于的名字及其编号、标称主频
stepping   :CPU属于制作更新版本
cpu MHz   :CPU的实际使用主频
cache size   :CPU二级缓存大小
physical id   :单个CPU的标号
siblings :单个CPU逻辑物理核数 core id :当前物理核在其所处CPU中的编号,这个编号不一定连续 cpu cores :该逻辑核所处CPU的物理核数 apicid :用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续 fpu :是否具有浮点运算单元(Floating Point Unit) fpu_exception :是否支持浮点计算异常 cpuid level :执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容 wp :表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection) flags :当前CPU支持的功能 bogomips :在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second) clflush size :每次刷新缓存的大小单位 cache_alignment :缓存地址对齐单位 address sizes :可访问地址空间位数 power management :对能源管理的支持,有以下几个可选支持功能:   ts:  temperature sensor   fid:  frequency id control   vid:  voltage id control   ttp:  thermal trip   tm:   stc:   100mhzsteps:   hwpstate: 

详细参考:https://blog.csdn.net/cuker919/article/details/7635488/

查看内存:

sudo cat /proc/meminfo
这个命令只能看当前内存大小,已用空间等等。

要查看内存型号、频率,使用命令(使用root才行):

sudo dmidecode -t memory
输出:

Memory Device
	Array Handle: 0x0024 Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: 16384 MB Form Factor: DIMM Set: None Locator: CPU0_A0 Bank Locator: CPU0_Bank0 Type: DDR3 Type Detail: Registered (Buffered) Speed: 1600 MT/s Manufacturer: Hynix Semiconducto Serial Number: 40FE6773 Asset Tag: Dimm0_AssetTag Part Number: HMT42GR7AFR4C-RD Rank: 2 Configured Clock Speed: 1600 MT/s 

查看系统运行时间:

cat /proc/uptime

406988.68 15804134.45
#第一个参数是系统从启动到现在经历的秒数
#406988.68/60/60/24=4.7天的样子.
#第二个参数 说的代表cpu空闲的时间. (所有的cpu空闲的时间,如你cpu1空闲1秒cpu2很忙没空闲.)所以我们要除去cpu所有的核心数 #15804134.45/40=395103.36124999996 #395103.36124999996/406988.68=0.9707969303961966 #大概97%时间是空闲的. 

查看内核IO地址映射:(物理内存地址分配情况)

cat /proc/iomem

root@ubsv:/home/makeit# cat /proc/iomem 00000000-00000fff : Reserved 00001000-000917ff : System RAM 00091800-0009ffff : Reserved 000a0000-000bffff : PCI Bus 0000:00 000c0000-000dffff : PCI Bus 0000:00 000c0000-000ce9ff : Video ROM 000cf000-000d89ff : Adapter ROM 000e0000-000fffff : Reserved 000f0000-000fffff : System ROM 00100000-7daf6fff : System RAM 7daf7000-7db36fff : Reserved 7db37000-7dd36fff : ACPI Tables 7dd37000-7e036fff : ACPI Non-volatile Storage 7e037000-7f316fff : Reserved 7f317000-7f317fff : System RAM 7f318000-7f39dfff : ACPI Non-volatile Storage 7f39e000-7f7fffff : System RAM 7f800000-7fffffff : RAM buffer 80000000-dfffffff : PCI Bus 0000:00 80000000-8fffffff : PCI MMCONFIG 0000 [bus 00-ff] 80000000-8fffffff : Reserved c0000000-d1ffffff : PCI Bus 0000:03 c0000000-cfffffff : 0000:03:00.0 d0000000-d1ffffff : 0000:03:00.0 d2800000-d2ffffff : PCI Bus 0000:08 d2800000-d2ffffff : PCI Bus 0000:09 d2800000-d2ffffff : 0000:09:00.0 d3000000-d34fffff : PCI Bus 0000:07 d3000000-d33fffff : 0000:07:00.0 d3000000-d33fffff : isci d3400000-d347bfff : 0000:07:00.0 d347c000-d347ffff : 0000:07:00.0 d347c000-d347ffff : isci de000000-df0fffff : PCI Bus 0000:03 de000000-deffffff : 0000:03:00.0 df080000-df083fff : 0000:03:00.1 df080000-df083fff : ICH HD audio df100000-df1fffff : PCI Bus 0000:08 df100000-df1fffff : PCI Bus 0000:09 df100000-df11ffff : 0000:09:00.0 df200000-df2fffff : PCI Bus 0000:07 df300000-df3000ff : 0000:00:1f.3 df301000-df3017ff : 0000:00:1f.2 df301000-df3017ff : ahci df302000-df3023ff : 0000:00:1d.0 df302000-df3023ff : ehci_hcd df303000-df3033ff : 0000:00:1a.0 df303000-df3033ff : ehci_hcd df305000-df30500f : 0000:00:16.1 df306000-df30600f : 0000:00:16.0 df307000-df307fff : 0000:00:05.4 dfffc000-dfffcfff : dmar1 e0000000-fbffffff : PCI Bus 0000:80 fbf00000-fbf00fff : 0000:80:05.4 fbffe000-fbffefff : dmar0 fc000000-fcffffff : pnp 00:00 fd000000-fdffffff : pnp 00:00 fe000000-feafffff : pnp 00:00 feb00000-febfffff : pnp 00:00 fec00000-fec003ff : IOAPIC 0 fec01000-fec013ff : IOAPIC 1 fec40000-fec403ff : IOAPIC 2 fed00000-fed003ff : HPET 0 fed00000-fed003ff : PNP0103:00 fed1c000-fed1ffff : Reserved fed1c000-fed1ffff : pnp 00:07 fed1f410-fed1f414 : iTCO_wdt.0.auto fed45000-fedfffff : pnp 00:00 fee00000-fee00fff : Local APIC ff000000-ffffffff : Reserved ff000000-ffffffff : pnp 00:07 100000000-87fffffff : System RAM 480c00000-4818031d0 : Kernel code 4818031d1-48226a6bf : Kernel data 4824e2000-48273dfff : Kernel bss 

查看上一次登陆:

last /var/log/wtmp 
/var/log/wtmp #是一个二进制文件, 记录了每个用户的登录次数和登录时间
它是二进制文件,vim无法正常读取的,应该使用last命令读取.
(如不存在,直接touch生成。可用rm删除)

reboot   system boot  4.15.0-48-generi Fri May 3 10:04 - 10:22 (00:17) makeit pts/0 10.1.1.2 Fri May 3 07:06 - 10:04 (02:58) makeit pts/1 10.1.1.2 Fri May 3 06:37 - 06:59 (00:21) makeit pts/1 10.1.1.2 Fri May 3 04:11 - 06:29 (02:17) makeit pts/0 10.1.1.2 Fri May 3 04:10 - 04:11 (00:01) reboot system boot 4.15.0-48-generi Fri May 3 03:49 - 10:04 (06:14) makeit tty1 Thu May 2 18:29 - down (00:03) reboot system boot 4.15.0-48-generi Thu May 2 18:27 - 18:32 (00:05) 

查看内核版本:

cat /proc/version 

Linux version 4.15.0-48-generic (buildd@lgw01-amd64-036) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019 或 Linux version 3.10.0-957.1.3.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 29 14:49:43 UTC 2018 

查看内核函数:

cat /proc/kallsyms
#非root用户内存地址为0.要注意哦

ffffffffa462e699 b pci_apply_fixup_final_quirks
ffffffffa462e6a0 b asus_rcba_base
ffffffffa462e6a8 b asus_hides_smbus
ffffffffa462e6ac b aspm_policy
ffffffffa462e6b0 b aspm_force
ffffffffa462e6b4 b aspm_disabled
ffffffffa462e6b8 B pciehp_msi_disabled
ffffffffa462e6b9 B pcie_ports_native
ffffffffa462e6ba B pcie_ports_disabled
ffffffffa462e6bc b aer_recover_ring_lock
ffffffffa462e6c0 b nosourceid
ffffffffa462e6c1 b forceload

查看系统启动参数:

cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-4.15.0-48-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro net.ifnames=0 biosdevname=0 maybe-ubiquity
或
BOOT_IMAGE=/boot/vmlinuz-3.10.0-957.1.3.el7.x86_64 root=UUID=f41e390f-835b-4223-a9bb-9b45984ddf8d ro console=tty0 console=ttyS0,115200n8 crashkernel=auto console=ttyS0,115200 LANG=en_US.UTF-8 

磁盘信息(这个文件一般人看不懂,有工具就是分析这个文件得到磁盘性能信息的):

cat /proc/diskstats

  1 sda1 1754 0 173182 2636 0 0 0 0 0 2288 2636 8 2 sda2 1410618 20823 314212148 7331640 17342234 176017 1018277592 4184991736 0 37218756 4202110004 8 3 sda3 297216 13604 15966929 5201952 2752169 7362710 295973221 115004336 1 9669588 120302544 8 16 sdb 901534 17836 117321096 1284332 10651545 6198248 717171056 163072144 0 9813644 164350192 8 17 sdb1 2625 0 24206 444 0 0 0 0 0 444 444 8 18 sdb2 726 10 40808 604 437 120 2047640 39208 0 1800 39808 8 19 sdb3 897879 17826 117246389 1283092 8801571 6198128 715123416 162152184 0 8947140 163434420 第1个域:读磁盘的次数,成功完成读的总次数; 第2个域:合并读次数; 第3个域:读扇区的次数,成功读过的扇区总次数; 第4个域:读花费的毫秒数,这是所有读操作所花费的毫秒数;//基准 第5个域:写完成的次数,成功写完成的总次数; 第6个域:合并写次数,为了效率可能会合并相邻的读和写。从而两次4K的读在它最终被处理到磁盘上之前可能会变成一次8K的读,才被计数(和排队),因此只有一次I/O操作,这个域使你知道这样的操作有多频繁; 第7个域:写扇区的次数,成功写扇区总次数; 第8个域:写花费的毫秒数,这是所有写操作所花费的毫秒数;//基准 第9个域:I/O的当前进度,只有这个域应该是0。当请求被交给适当的request_queue_t时增加和请求完成时减小; 第10个域:花在I/O操作上的毫秒数,这个域会增长只要field 9不为0; 第11个域:加权,花在I/O操作上的毫秒数,在每次I/O开始,I/O结束,I/O合并时这个域都会增加。这可以给I/O完成时间和存储那些可以累积的提供一个便利的测量标准。 

查看中断:
cat /proc/interrupts 

文件中列出当前系统使用的中断的情况,所以某个中断处理没有安装,是不会显示的。哪怕之前安装过,被卸载了。
从左到右分别是,
irq的序号, 在各自cpu上发生中断的次数,可编程中断控制器,设备名称(request_irq的dev_name字段)
           CPU0       CPU1       CPU2       CPU3       
  0:        205          0          0          0 IO-APIC-edge timer 1: 10 0 0 0 IO-APIC-edge i8042 4: 1467 0 0 432 IO-APIC-edge serial 6: 3 0 0 0 IO-APIC-edge floppy 8: 0 0 0 0 IO-APIC-edge rtc0 

/proc/stat #文件中有一行记录的机器从启动依赖,各个中断序号发生中断的次数。

这一行以intr开头,接下来的第一个数字是总的中断数目,之后就是分别的中断数目,从0开始。
intr 598618187 205 10 0 0 1899 0 3 0 0 0 31258 0 66 0 0 0 0 0 0 0 0 0 0 0 0 2561943 0 1972608 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

调整内存分配策略:

echo 2 > /proc/sys/vm/overcommit_memory 
echo 60 > /proc/sys/vm/overcommit_ratio

 0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
 1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
 2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

关于内存分配策略更详细请参考:
红帽大佬的文档

5.4. 容量调节

https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/6/html/performance_tuning_guide/s-memory-captun

猜你喜欢

转载自www.cnblogs.com/sky-heaven/p/13403253.html
今日推荐