Linux /proc、/dev Principle

目录

. /proc简介
. 内核机制相关
. 进程信息
. 硬件设备相关
. 系统信息
. /dev简介
. 内存相关

1. /proc简介

在linux的根目录下有一个/proc目录,/proc文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在Linux内核空间和用户空间之间进行通信。在/proc文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,但是与普通文件不同的是,这些虚拟文件的内容都是动态创建的(即在我们执行指令的那一刹那才产生的)

/proc文件系统包含了:

. 一些目录(用作组织信息的方式)
例如linux对于当前运行中的每一个进程都在/proc目录下建立一个目录(目录名就是process-id),例如init的进程号是1,则目录名也是1
. 虚拟文件
虚拟文件可以向用户呈现内核中的一些信息,也可以用作一种从用户空间向内核发送信息的手段

执行: ll /proc,我们可以得到如下结果

dr-xr-xr-x.   root      root          Jul  :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. apache apache Jul :
dr-xr-xr-x. apache apache Jul :
dr-xr-xr-x. apache apache Jul :
dr-xr-xr-x. apache apache Jul :
dr-xr-xr-x. apache apache Jul :
dr-xr-xr-x. apache apache Jul :
dr-xr-xr-x. apache apache Jul :
dr-xr-xr-x. apache apache Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. postfix postfix Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. dbus dbus Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. haldaemon haldaemon Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. haldaemon haldaemon Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. postfix postfix Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. gdm gdm Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. rtkit rtkit Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root utmp Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul :
dr-xr-xr-x. root root Jul : acpi
dr-xr-xr-x. root root Jul : asound
-r--r--r--. root root Jul : buddyinfo
dr-xr-xr-x. root root Jul : bus
-r--r--r--. root root Jul : cgroups
-r--r--r--. root root Jul : cmdline
-r--r--r--. root root Jul : cpuinfo
-r--r--r--. root root Jul : crypto
-r--r--r--. root root Jul : devices
-r--r--r--. root root Jul : diskstats
-r--r--r--. root root Jul : dma
dr-xr-xr-x. root root Jul : driver
-r--r--r--. root root Jul : execdomains
-r--r--r--. root root Jul : fb
-r--r--r--. root root Jul : filesystems
dr-xr-xr-x. root root Jul : fs
-r--r--r--. root root Jul : interrupts
-r--r--r--. root root Jul : iomem
-r--r--r--. root root Jul : ioports
dr-xr-xr-x. root root Jul : ipmi
dr-xr-xr-x. root root Jul : irq
-r--r--r--. root root Jul : kallsyms
-r--------. root root Jul : kcore
-r--r--r--. root root Jul : keys
-r--r--r--. root root Jul : key-users
-r--------. root root Jul : kmsg
-r--------. root root Jul : kpagecount
-r--------. root root Jul : kpageflags
-r--r--r--. root root Jul : loadavg
-r--r--r--. root root Jul : locks
-r--r--r--. root root Jul : mdstat
-r--r--r--. root root Jul : meminfo
-r--r--r--. root root Jul : misc
-r--r--r--. root root Jul : modules
lrwxrwxrwx. root root Jul : mounts -> self/mounts
dr-xr-xr-x. root root Jul : mpt
-r--r--r--. root root Jul : mtd
-rw-r--r--. root root Jul : mtrr
lrwxrwxrwx. root root Jul : net -> self/net
-r--r--r--. root root Jul : pagetypeinfo
-r--r--r--. root root Jul : partitions
-r--r--r--. root root Jul : sched_debug
-r--r--r--. root root Jul : schedstat
dr-xr-xr-x. root root Jul : scsi
lrwxrwxrwx. root root Jul : self ->
-rw-r--r--. root root Jul : slabinfo
-r--r--r--. root root Jul : softirqs
-r--r--r--. root root Jul : stat
-r--r--r--. root root Jul : swaps
dr-xr-xr-x. root root Jul : sys
--w-------. root root Jul : sysrq-trigger
dr-xr-xr-x. root root Jul : sysvipc
-r--r--r--. root root Jul : timer_list
-rw-r--r--. root root Jul : timer_stats
dr-xr-xr-x. root root Jul : tty
-r--r--r--. root root Jul : uptime
-r--r--r--. root root Jul : version
-r--------. root root Jul : vmallocinfo
-r--r--r--. root root Jul : vmstat
-r--r--r--. root root Jul : zoneinfo

值得注意的是,使用"sysctl -a | more"指令,我们可以直接获得当前/proc中保存的所有变量,一次性全部显示出来

文章接下来的部分,我们按照逻辑功能对它们进行分类,逐类学习

Relevant Link:

http://www.ibm.com/developerworks/cn/linux/l-proc.html
http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlproc.html
http://wenku.baidu.com/view/056b1ad780eb6294dd886c78.html

2. 内核机制相关

0x1: /proc/interrupts: The number of interrupts per IRQ

           CPU0
: IO-APIC-edge timer
: IO-APIC-edge i8042
: IO-APIC-edge
: IO-APIC-edge
: IO-APIC-edge parport0
: IO-APIC-edge rtc0
: IO-APIC-fasteoi acpi
: IO-APIC-edge i8042
: IO-APIC-edge ata_piix
: IO-APIC-edge ata_piix
: IO-APIC-fasteoi Ensoniq AudioPCI
: IO-APIC-fasteoi ehci_hcd:usb1, ioc0
: IO-APIC-fasteoi uhci_hcd:usb2
: IO-APIC-fasteoi eth0
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge pciehp
: PCI-MSI-edge ahci
NMI: Non-maskable interrupts
LOC: Local timer interrupts
SPU: Spurious interrupts
PMI: Performance monitoring interrupts
IWI: IRQ work interrupts
RES: Rescheduling interrupts
CAL: Function call interrupts
TLB: TLB shootdowns
TRM: Thermal event interrupts
THR: Threshold APIC interrupts
MCE: Machine check exceptions
MCP: Machine check polls
ERR:
MIS:

0x2: /proc/ioports: A list of currently registered input-output port regions that are in use

列出当前系统所有的输入输出接口

-0cf7 : PCI Bus :
-001f : dma1
- : pic1
- : timer0
- : timer1
- : keyboard
- : keyboard
- : rtc0
-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
- : ::07.1
- : ata_piix
01f0-01f7 : ::07.1
01f0-01f7 : ata_piix
02f8-02ff : serial
- : ::07.1
- : ata_piix
-037a : parport0
03c0-03df : vga+
03f6-03f6 : ::07.1
03f6-03f6 : ata_piix
03f8-03ff : serial
0cf0-0cf1 : pnp : 0cf8-0cff : PCI conf1 0d00-feff : PCI Bus :
-103f : ::07.3
-103f : pnp :
- : ACPI PM1a_EVT_BLK
- : ACPI PM1a_CNT_BLK
-100b : ACPI PM_TMR
100c-100f : ACPI GPE0_BLK
- : ACPI CPU throttle
-104f : ::07.3
-104f : pnp :
-106f : ::07.1
-106f : ata_piix
-107f : ::0f.
-10bf : ::07.7
-14ff : ::10.0
-3fff : PCI Bus :
-207f : ::01.0
-201f : pcnet32_probe_pci
-20bf : ::02.0
-20bf : Ensoniq AudioPCI
20c0-20df : ::00.0
20c0-20df : uhci_hcd
-4fff : PCI Bus :
-5fff : PCI Bus :0b
-6fff : PCI Bus :
-7fff : PCI Bus :1b
-8fff : PCI Bus :
-9fff : PCI Bus :0c
a000-afff : PCI Bus :
b000-bfff : PCI Bus :1c
c000-cfff : PCI Bus :
d000-dfff : PCI Bus :0d
e000-efff : PCI Bus :
fce0-fcff : pnp :0d

0x3: /proc/locks

cat /proc/locks
: FLOCK ADVISORY WRITE :: EOF
: POSIX ADVISORY WRITE :: EOF
: FLOCK ADVISORY WRITE :: EOF
: POSIX ADVISORY WRITE :: EOF
: FLOCK ADVISORY WRITE :: EOF
: FLOCK ADVISORY WRITE :: EOF
: FLOCK ADVISORY WRITE :: EOF

0x4: /proc/modules: A list of kernel modules loaded by the system

tcp_diag   - Live 0xf7e3e000
inet_diag tcp_diag, Live 0xf7e2c000
lp - Live 0xf7ef4000
rfcomm - Live 0xf8007000
sco - Live 0xf7edb000
bridge - Live 0xf7f5d000
bnep - Live 0xf7ed0000
l2cap rfcomm,bnep, Live 0xf7eac000
8021q - Live 0xf7e6c000
garp 8021q, Live 0xf7e41000
stp bridge,garp, Live 0xf7e38000
llc bridge,garp,stp, Live 0xf7e30000
ipt_REJECT - Live 0xf8c98000
nf_conntrack_ipv4 - Live 0xf8c8f000
nf_defrag_ipv4 nf_conntrack_ipv4, Live 0xf8c85000
iptable_filter - Live 0xf8c7d000
ip_tables iptable_filter, Live 0xf8c74000
ip6t_REJECT - Live 0xf8c66000
nf_conntrack_ipv6 - Live 0xf8c5d000
nf_defrag_ipv6 nf_conntrack_ipv6, Live 0xf8c52000
xt_state - Live 0xf8c48000
nf_conntrack nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state, Live 0xf8c2b000
ip6table_filter - Live 0xf8c0c000
ip6_tables ip6table_filter, Live 0xf8c03000
ipv6 ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6, Live 0xf8bad000
fuse - Live 0xf8b3b000
uinput - Live 0xf8a16000
microcode - Live 0xf8a04000
ppdev - Live 0xf89f6000
vmware_balloon - Live 0xf89ec000
snd_ens1371 - Live 0xf89de000
snd_rawmidi snd_ens1371, Live 0xf89cb000
snd_ac97_codec snd_ens1371, Live 0xf89a2000
ac97_bus snd_ac97_codec, Live 0xf897d000
snd_seq - Live 0xf896a000
snd_seq_device snd_rawmidi,snd_seq, Live 0xf8953000
snd_pcm snd_ens1371,snd_ac97_codec, Live 0xf8935000
snd_timer snd_seq,snd_pcm, Live 0xf8913000
snd snd_ens1371,snd_rawmidi,snd_ac97_codec,snd_seq,snd_seq_device,snd_pcm,snd_timer, Live 0xf88f5000
soundcore snd, Live 0xf88da000
snd_page_alloc snd_pcm, Live 0xf88cf000
pcnet32 - Live 0xf88be000
mii pcnet32, Live 0xf88ac000
parport_pc - Live 0xf889f000
parport lp,ppdev,parport_pc, Live 0xf8887000
btusb - Live 0xf8872000
bluetooth rfcomm,sco,bnep,l2cap,btusb, Live 0xf884c000
rfkill bluetooth, Live 0xf8823000
sg - Live 0xf8810000
i2c_piix4 - Live 0xf87fe000
i2c_core i2c_piix4, Live 0xf87eb000
ext4 - Live 0xf807c000
jbd2 ext4, Live 0xf7ff3000
mbcache ext4, Live 0xf7fd1000
sr_mod - Live 0xf7fc5000
cdrom sr_mod, Live 0xf7fb1000
sd_mod - Live 0xf7f97000
crc_t10dif sd_mod, Live 0xf7f84000
ahci - Live 0xf7f72000
pata_acpi - Live 0xf7f5b000
ata_generic - Live 0xf7f54000
ata_piix - Live 0xf7f2c000
mptspi - Live 0xf7ef7000
mptscsih mptspi, Live 0xf7ee2000
mptbase mptspi,mptscsih, Live 0xf7eb9000
scsi_transport_spi mptspi, Live 0xf7e93000
dm_mirror - Live 0xf7e83000
dm_region_hash dm_mirror, Live 0xf7e74000
dm_log dm_mirror,dm_region_hash, Live 0xf7e68000
dm_mod dm_mirror,dm_log, Live 0xf7e48000

lsmod指令就是通过这个虚拟设备(整个/proc就是一个沟通user mode和kernel mode的虚拟设备)获取到的

0x5: /proc/net: Various network pseudo files. The netstat command suite provides cleaner access to these files
net指令就是通过读者/proc/net目录下的文件得到的网络连接信息的

. arp: The kernel address resolution protocol table
. dev: Network device status information
. ipx
. ipx_route
. rarp: used to provide rarp services
. raw: A dump of the RAW socket table
. route: Looks like route
. snmp: Holds the ASCII databases used for the IP, ICMP, TCP, and UDP management information bases for an snmp agent.
. tcp: A dump of the TCP socket table.
. udp: A dump of the UDP socket table
. unix: Lists UNIX domain sockets and their status . packet
显示了当前正在处理网络数据包的进程
http://blog.cloudpassage.com/2012/09/05/warn-packet-sniffer-running/
http://www.onlamp.com/pub/a/linux/2000/11/16/LinuxAdmin.html

这个目录下还有很多文件,但是作用不大,就没有列出来,有兴趣的朋友可以使用: ll /proc/net/进行查看

0x6: /proc/slabinfo

slabinfo - version: 2.1
# name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
bridge_fdb_cache : tunables : slabdata
nf_conntrack_expect : tunables : slabdata
nf_conntrack_c0acb540 : tunables : slabdata
fib6_nodes : tunables : slabdata
ip6_dst_cache : tunables : slabdata
ndisc_cache : tunables : slabdata
ip6_mrt_cache : tunables : slabdata
RAWv6 : tunables : slabdata
UDPLITEv6 : tunables : slabdata
UDPv6 : tunables : slabdata
tw_sock_TCPv6 : tunables : slabdata
request_sock_TCPv6 : tunables : slabdata
TCPv6 : tunables : slabdata
fuse_request : tunables : slabdata
fuse_inode : tunables : slabdata
jbd2_1k : tunables : slabdata
avtab_node : tunables : slabdata
ext4_inode_cache : tunables : slabdata
ext4_xattr : tunables : slabdata
ext4_free_block_extents : tunables : slabdata
ext4_alloc_context : tunables : slabdata
ext4_prealloc_space : tunables : slabdata
ext4_system_zone : tunables : slabdata
jbd2_journal_handle : tunables : slabdata
jbd2_journal_head : tunables : slabdata
jbd2_revoke_table : tunables : slabdata
jbd2_revoke_record : tunables : slabdata
sd_ext_cdb : tunables : slabdata
scsi_sense_cache : tunables : slabdata
scsi_cmd_cache : tunables : slabdata
dm_raid1_read_record : tunables : slabdata
kcopyd_job : tunables : slabdata
io : tunables : slabdata
dm_uevent : tunables : slabdata
dm_rq_clone_bio_info : tunables : slabdata
dm_rq_target_io : tunables : slabdata
dm_target_io : tunables : slabdata
dm_io : tunables : slabdata
flow_cache : tunables : slabdata
uhci_urb_priv : tunables : slabdata
cfq_io_context : tunables : slabdata
cfq_queue : tunables : slabdata
bsg_cmd : tunables : slabdata
mqueue_inode_cache : tunables : slabdata
isofs_inode_cache : tunables : slabdata
hugetlbfs_inode_cache : tunables : slabdata
dquot : tunables : slabdata
kioctx : tunables : slabdata
kiocb : tunables : slabdata
inotify_event_private_data : tunables : slabdata
inotify_inode_mark_entry : tunables : slabdata
dnotify_mark_entry : tunables : slabdata
dnotify_struct : tunables : slabdata
dio : tunables : slabdata
fasync_cache : tunables : slabdata
ksm_mm_slot : tunables : slabdata
ksm_stable_node : tunables : slabdata
ksm_rmap_item : tunables : slabdata
utrace_engine : tunables : slabdata
utrace : tunables : slabdata
pid_namespace : tunables : slabdata
posix_timers_cache : tunables : slabdata
uid_cache : tunables : slabdata
UNIX : tunables : slabdata
ip_mrt_cache : tunables : slabdata
UDP-Lite : tunables : slabdata
tcp_bind_bucket : tunables : slabdata
inet_peer_cache : tunables : slabdata
secpath_cache : tunables : slabdata
xfrm_dst_cache : tunables : slabdata
ip_fib_alias : tunables : slabdata
ip_fib_hash : tunables : slabdata
ip_dst_cache : tunables : slabdata
arp_cache : tunables : slabdata
PING : tunables : slabdata
RAW : tunables : slabdata
UDP : tunables : slabdata
tw_sock_TCP : tunables : slabdata
request_sock_TCP : tunables : slabdata
TCP : tunables : slabdata
eventpoll_pwq : tunables : slabdata
eventpoll_epi : tunables : slabdata
sgpool- : tunables : slabdata
sgpool- : tunables : slabdata
sgpool- : tunables : slabdata
sgpool- : tunables : slabdata
sgpool- : tunables : slabdata
scsi_data_buffer : tunables : slabdata
blkdev_integrity : tunables : slabdata
blkdev_queue : tunables : slabdata
blkdev_requests : tunables : slabdata
blkdev_ioc : tunables : slabdata
fsnotify_event_holder : tunables : slabdata
fsnotify_event : tunables : slabdata
bio- : tunables : slabdata
biovec- : tunables : slabdata
biovec- : tunables : slabdata
biovec- : tunables : slabdata
biovec- : tunables : slabdata
bip- : tunables : slabdata
bip- : tunables : slabdata
bip- : tunables : slabdata
bip- : tunables : slabdata
bip- : tunables : slabdata
bip- : tunables : slabdata
sock_inode_cache : tunables : slabdata
skbuff_fclone_cache : tunables : slabdata
skbuff_head_cache : tunables : slabdata
file_lock_cache : tunables : slabdata
net_namespace : tunables : slabdata
shmem_inode_cache : tunables : slabdata
Acpi-Operand : tunables : slabdata
Acpi-ParseExt : tunables : slabdata
Acpi-Parse : tunables : slabdata
Acpi-State : tunables : slabdata
Acpi-Namespace : tunables : slabdata
task_delay_info : tunables : slabdata
taskstats : tunables : slabdata
proc_inode_cache : tunables : slabdata
sigqueue : tunables : slabdata
bdev_cache : tunables : slabdata
sysfs_dir_cache : tunables : slabdata
mnt_cache : tunables : slabdata
filp : tunables : slabdata
inode_cache : tunables : slabdata
dentry : tunables : slabdata
names_cache : tunables : slabdata
avc_node : tunables : slabdata
selinux_inode_security : tunables : slabdata
radix_tree_node : tunables : slabdata
key_jar : tunables : slabdata
buffer_head : tunables : slabdata
nsproxy : tunables : slabdata
vm_area_struct : tunables : slabdata
mm_struct : tunables : slabdata
fs_cache : tunables : slabdata
files_cache : tunables : slabdata
signal_cache : tunables : slabdata
sighand_cache : tunables : slabdata
task_xstate : tunables : slabdata
task_struct : tunables : slabdata
cred_jar : tunables : slabdata
anon_vma_chain : tunables : slabdata
anon_vma : tunables : slabdata
pid : tunables : slabdata
idr_layer_cache : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size-(DMA) : tunables : slabdata
size-(DMA) : tunables : slabdata
size- : tunables : slabdata
size- : tunables : slabdata
kmem_cache : tunables : slabdata

0x7: /proc/sys: Directory corresponding to kernel variables

. debug
. dev
. fs
. kernel
4.1 domainname
4.2 file-max
4.3 file-nr
4.4 hostname
4.5 inode-max
4.6 inode-nr
4.7 osrelease
4.8 ostype
4.9 panic
4.10 real-root-dev
4.11 securelevel
4.12 version
. net
. proc
. sunrpc
. vm

0x8: /proc/kallsyms

在v2.6.0的内核中,为了更好地调试内核,引入新的功能kallsyms(前提是编译内核的时候开启了: static int all_symbols = 1;)
kallsyms把内核用到的所有函数地址和名称连接进内核文件,当内核启动后,同时加载到内存中

. 当发生oops,例如在内核中访问空地址时,内核就会解析eip位于哪个函数中,并打印出形如:
EIP is at cleanup_module+0xb/0x1d [client]的信息,
. 调用栈也用可读的方式显示出来.
Call Trace:
[<c013096d>] sys_delete_module+0x191/0x1ce
[<c02dd30a>] do_page_fault+0x189/0x51d
[<c0102bc1>] syscall_call+0x7/0xb
. 还可以查找某个函数例如的sys_fork的地址,然后hook它,kprobe就是这么干的

在v2.6.20 中,还可以包含所有符号的地址,应此功能更强大,就相当于内核中有了System.map了,这时候就可以很方便的查找sys_call_table的地址了

echo  > /proc/sys/kernel/kptr_restrict sysctl
cat /proc/kallsyms
//输出全部内核导出的、未导出的符号表

Relevant Link:

http://blog.sina.com.cn/s/blog_86b97e1601010z3b.html
http://blog.chinaunix.net/uid-27717694-id-3985448.html

3. 进程信息

0x1: 以进程PID为目录名的目录

当前linux运行中的每一个进程在/proc下一定都可以找到一个对应的以它的进程号作为目录名的子目录,这个目录描述这个进程的相关信息。
每个进程对应的目录都包含了如下的子目录

. cmdline: The command line the process was invoked with
启动当前进程的命令行,即用户使用什么指令来启动这个进程,例如: /usr/bin/shell arg1 arg2,则这个shell进程的cmdline就是"/usr/bin/shell arg1 arg2" . cwd: A link to the current working directory of the process
指向当前进程的"工作目录"的符号链接 . environ: The process environment
当前进程的环境变量 . exe: A pointer appearing as a symbolic link to the binary that was executed
这个进程对应于磁盘上的程序文件名称,包括完整路径,例如"/usr/bin/shell" . fd: A subdirectory with one entry per file that the process has open
) -std input
) -std output
) -std err
. maps: Contains the currently mapped memory regions and their access permissions. The format is:
address perms offset dev idnode filename
-0804e000 r-xp /sbin/init
0804e000-0804f000 rw-p /sbin/init . mem: The memory of the process that accesses the /dev/mem device . root: Points to the root filesystem
指向根目录"/"的符号链接 . stat: Status information about the process used by the ps command
) pid: Process id(进程pdi)
) comm: The executable filename(可执行文件名)
) state:
3.1) R(running)
3.2) S(sleeping interruptable)
3.3) D(sleeping)
3.4) Z(zombie)
3.5) T(stopped on a signal)
) ppid: Parent process ID(父进程pid)
) pgrp: Process group ID(进程所属组)
) session: The process session ID(进程session会话id)
) tty: The tty the process is using(进程所使用的tty)
) tpgid: The process group ID of the owning process of the tty the current process is connected to.
) flags: Process flags
) minflt: Minor faults the process has made
) cminflt: Minor faults the process and its children have made.
) majflt
) cmajflt
) utime: The number of jiffies (processor time) that this process has been scheduled in user mode
当前进程在"用户态"所消耗的CPU调度时间
) stime: in kernel mode
当前进程在"内核态"所消耗的CPU调度时间
) cutime: This process and its children in user mode
当前进程以及子进程在"用户态"所消耗的CPU时间
) cstime: in kernel mode
当前进程以及子进程在"内核态"所消耗的CPU时间
) counter: The maximum time of this processes next time slice
这个字段和CPU调度相关,counter表明它的所剩的时间片,即动态优先级(时间片越少自然优先级就越低了)
) priority: The priority of the nice(process priority) value plus fifteen
) timeout: The time in jiffies of the process's next timeout.
) itrealvalue: The time in jiffies before the next SIGALRM is sent to the process because of an internal timer.
) starttime: Time the process started after system boot
当前进程已运行时间
) vsize: Virtual memory size
当前进程所占用的虚拟内存
) rlim: Current limit in bytes of the rss of the process.
) startcode: The address above which program text can run.
) endcode: The address below which program text can run.
) startstack: The address of the start of the stack
) kstkesp: The current value of esp for the process as found in the kernel stack page.
) kstkeip: The current bit instruction pointer, EIP.
) signal: The bitmap of pending signals
) blocked: The bitmap of blocked signals
) sigignore: The bitmap of ignored signals
) sigcatch: The bitmap of catched signals
) wchan: The channel in which the process is waiting. The "ps -l" command gives somewhat of a list.

0x2: /proc/[pid]/maps

这个文件用于查看进程的虚拟地址空间是如何使用的,文件有6列,分别为:

. 地址:库在进程里地址范围
. 权限:虚拟内存的权限
) r = 读
) w = 写
) x = 执行
) s = 共享
) p = 私有
. 偏移量:库在进程里地址范围
. 设备:映像文件的主设备号和次设备号
. 节点:映像文件的节点号
. 路径: 映像文件的路径

每项都与一个"struct vm_area_struct"结构成员对应

http://www.cnblogs.com/LittleHann/p/3865490.html
搜索:0x2: vm_area_struct

Relevant Link:

http://blog.sina.com.cn/s/blog_49f07e46010148m0.html

0x3: /proc/[pid]/mem

Linux下使用ptrace调用可以监视和控制其他进程,并能够改变进程的寄存器值和内核映像。ptrace提供了PTRACE_PEEKDATA来实现进程内存读取,这是原语级的操作,在x86_64下一次仅读取8字节。因此在读取量较大时,需要反复调用ptrace。/proc/<PID>/mem接口提供了read调用,只需一次就可以读取任意大小内存

Relevant Link:

http://my.oschina.net/u/180497/blog/141673
http://yuangeqingtian.blog.51cto.com/6994701/1214789

4. 硬件设备相关

0x1: /proc/bus

. pci: A directory
1.1 : A directory
containing filenames like 00.0, 07.0, 07.1, 07.2, 08.0, 09.0, and 0b.. Each are bytes long and appear to be in binary form
1.2 : A directory
1.3 devices
I think this file numerically identifies devices on the pci bus. My file contains:
枚举列出了当前系统挂接的总线设备
. input: A directory
输入设备
. pccard: A directory
pccard设备
. usb: A directory
usb设备

0x2: /proc/cpuinfo: CPU architecture information

processor    :
vendor_id : GenuineIntel
cpu family :
model :
model name : Intel(R) Core(TM) i5-4200U CPU @ .60GHz
stepping :
cpu MHz : 2294.740
cache size : KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level :
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss nx pdpe1gb rdtscp constant_tsc up arch_perfmon pebs
bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 fma pcid sse4_1 sse4_2 x2apic movbe popcnt xsave avx f16c rdrand hypervisor ida arat
epb xsaveopt pln pts dts fsgsbase smep
bogomips : 4589.48
clflush size :
cache_alignment :
address sizes : bits physical, bits virtual
power management:

0x3: /proc/devices: Text listing of major numbers and device groups

列出当前系统挂载(mount)的设备

Character devices:
mem
/dev/vc/
tty
ttyS
/dev/tty
/dev/console
/dev/ptmx
lp
vcs
misc
input
sound
sg
fb
ppdev
alsa
ptm
pts
raw
usb
usb_device
cpu/msr
cpu/cpuid
rfcomm
hidraw
usbmon
bsg
pcmcia
watchdog
rtc Block devices:
ramdisk
blkext
loop
sd
md
sr
sd
sd
sd
sd
sd
sd
sd
sd
sd
sd
sd
sd
sd
sd
sd
device-mapper
mdp

0x4: /proc/dma: A list of ISA direct memory access channels in use

: cascade

0x5: /proc/fs

. ext4
. jbd2
. nfsd

0x6: /proc/mounts: Shows mounted filesystems. Shows device, mount point, filesystem type, permissions, and two flags

rootfs / rootfs rw
proc /proc proc rw,relatime
sysfs /sys sysfs rw,seclabel,relatime
devtmpfs /dev devtmpfs rw,seclabel,relatime,size=960940k,nr_inodes=,mode=
devpts /dev/pts devpts rw,seclabel,relatime,gid=,mode=,ptmxmode=
tmpfs /dev/shm tmpfs rw,seclabel,relatime
/dev/sda3 / ext4 rw,seclabel,relatime,barrier=,data=ordered
none /selinux selinuxfs rw,relatime
devtmpfs /dev devtmpfs rw,seclabel,relatime,size=960940k,nr_inodes=,mode=
/proc/bus/usb /proc/bus/usb usbfs rw,relatime
/dev/sda1 /boot ext4 rw,seclabel,relatime,barrier=,data=ordered
none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime
vmware-vmblock /var/run/vmblock-fuse fuse.vmware-vmblock rw,nosuid,nodev,relatime,user_id=,group_id=,default_permissions,allow_other
gvfs-fuse-daemon /root/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,relatime,user_id=,group_id=

0x7: /proc/mtrr

reg00: base=0x000000000 (    0MB), size= 2048MB, count=: write-back

0x8: /proc/scsi: A directory with scsi files and driver directories

. scsi: A list of all scsi devices known to the kernel
. device_info - Various scsi driver brand names dr-xr-xr-x root root Jun : ./
dr-xr-xr-x root root May : ../
-r--r--r-- root root Jun : device_info
-r--r--r-- root root Jun : scsi
dr-xr-xr-x root root Jun : sg/

0x9: /proc/ioports

root@iZ231vybmaeZ:/usr/local/aegis/aegis_client/aegis_00_73# cat /proc/ioports
-0cf7 : PCI Bus :
-001f : dma1
- : pic1
- : timer0
- : timer1
- : keyboard
- : keyboard
- : rtc0
-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
- : ::01.1
- : ata_piix
01f0-01f7 : ::01.1
01f0-01f7 : ata_piix
- : ::01.1
- : ata_piix
03c0-03df : vga+
03f2-03f2 : floppy
03f4-03f5 : floppy
03f6-03f6 : ::01.1
03f6-03f6 : ata_piix
03f7-03f7 : floppy
04d0-04d1 : pnp :
08a0-08a3 : pnp :
0cc0-0ccf : pnp :
0cf8-0cff : PCI conf1
0d00-ffff : PCI Bus :
10c0- : pnp :
1f40-1f7f : ::01.3
1f40-1f43 : ACPI PM1a_EVT_BLK
1f44-1f45 : ACPI PM1a_CNT_BLK
1f48-1f4b : ACPI PM_TMR
1f68-1f6f : ACPI GPE0_BLK
b010-b015 : ACPI CPU throttle
b044-b047 : pnp :
c000-c0ff : ::03.0
c000-c0ff : xen-platform-pci
c100-c11f : ::01.2
c100-c11f : uhci_hcd
c120-c12f : ::01.1
c120-c12f : ata_piix

5. 系统信息

0x1: /proc/cmdline: 系统命令行

cmdline: The command line at system startup.
My file contains:

"ro root=UUID=c03bcf41-af81-41b2-b476-e986f278bbb2 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=129M@0M  
KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet"

0x2: /proc/filesystems: A text listing of the filesystems compiled into the kernel

显示当前系统已经安装支持的文件系统驱动(即支持哪些文件系统)

nodev    sysfs
nodev rootfs
nodev bdev
nodev proc
nodev cgroup
nodev cpuset
nodev tmpfs
nodev devtmpfs
nodev binfmt_misc
nodev debugfs
nodev securityfs
nodev sockfs
nodev usbfs
nodev pipefs
nodev anon_inodefs
nodev inotifyfs
nodev devpts
nodev ramfs
nodev hugetlbfs
iso9660
nodev pstore
nodev mqueue
nodev selinuxfs
ext4
nodev fuse
fuseblk
nodev fusectl

0x3: /proc/kcore: Represents the physical memory of the system stored in the core format

/proc/kcore: ELF -bit LSB core file Intel , version  (SYSV), SVR4-style, from 'ro root=UUID=c03bcf41-af81-41b2-b476-e986f278bbb2 rd_NO_LUKS rd_NO_LVM LANG=en_U'

0x4: /proc/kmsg: This file can be used to log system messages

输入指令

cat /proc/kmsg

命令行会进入消息循环阻塞状态,不断打印出当前系统的的message,我们可以利用这个特性进行内核开发的调试

0x5: /proc/loadavg: Load average numbers

显示当前系统负载情况

0.00 0.00 0.00 / 

0x6: /proc/meminfo: report memory usage

MemTotal:         kB
MemFree: kB
Buffers: kB
Cached: kB
SwapCached: kB
Active: kB
Inactive: kB
Active(anon): kB
Inactive(anon): kB
Active(file): kB
Inactive(file): kB
Unevictable: kB
Mlocked: kB
HighTotal: kB
HighFree: kB
LowTotal: kB
LowFree: kB
SwapTotal: kB
SwapFree: kB
Dirty: kB
Writeback: kB
AnonPages: kB
Mapped: kB
Shmem: kB
Slab: kB
SReclaimable: kB
SUnreclaim: kB
KernelStack: kB
PageTables: kB
NFS_Unstable: kB
Bounce: kB
WritebackTmp: kB
CommitLimit: kB
Committed_AS: kB
VmallocTotal: kB
VmallocUsed: kB
VmallocChunk: kB
HugePages_Total:
HugePages_Free:
HugePages_Rsvd:
HugePages_Surp:
Hugepagesize: kB
DirectMap4k: kB
DirectMap2M: kB

0x7: /proc/misc

 fuse
uinput
microcode
rfkill
device-mapper
network_throughput
network_latency
cpu_dma_latency
crash
agpgart
nvram
hpet
snapshot
mcelog
vga_arbiter

0x8: /proc/partitions: Lists the partitions and their device major and minor numbers

major minor  #blocks  name
sda
sda1
sda2
sda3

0x9: /proc/stat: kernel statistics subdirectory

显示和系统当前运行状态有关的信息

. cpu: Jiffies spent in user mode, user mode with low priority, system mode, and idle.
. disk: Four disk entries not yet implemented
. page: The number of pages the system paged in and out.
. swap: Swap pages that have been brought in and out.
. intr: The number of interrupts received form the system boot
. ctxt: The number of context switches that the system underwent.
. btime: Boot time in seconds since Jan , .

cat /proc/stat

cpu
cpu0
intr
ctxt
btime
processes
procs_running
procs_blocked
softirq

0x10: /proc/swaps: A file defining swap partitions

显示当前系统内存交换文件

Filename    Type        Size          Used    Priority
/dev/sda2 partition -

0x11: /proc/tty

. driver: A directory
. serial
. drivers: A file listing device drivers
/dev/tty /dev/tty system:/dev/tty
/dev/console /dev/console system:console
/dev/ptmx /dev/ptmx system
/dev/vc/ /dev/vc/ system:vtmaster
rfcomm /dev/rfcomm - serial
serial /dev/ttyS - serial
pty_slave /dev/pts - pty:slave
pty_master /dev/ptm - pty:master
unknown /dev/tty - console

0x12: /proc/version

Linux version 2.6.-431.20..el6.centos.plus.i686 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.  (Red Hat 4.4.-) (GCC) ) # SMP Fri Jul  :: UTC 

0x13: /proc/sys/

The /proc/sys/ directory is different from others in /proc/ because it not only provides information about the system but also allows the system administrator to immediately enable and disable kernel features.

Relevant Link:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-proc-dir-sys.html

6. /dev简介

设备文件分为两种: 块设备文件(b)和字符设备文件(c),对于/dev我们需要明白,它不是设备驱动,linux有自己的设备驱动,/dev下的文件只是访问相应驱动的接口
设备文件一般存放在/dev目录下,对常见设备文件作如下说明:

/dev/hd[a-t]:IDE设备
/dev/sd[a-z]:SCSI设备
/dev/fd[-]:标准软驱
/dev/md[-]:软raid设备
/dev/loop[-]:本地回环设备
/dev/ram[-]:内存
/dev/null:无限数据接收设备,相当于黑洞
/dev/zero:无限零资源
/dev/tty[-]:虚拟终端
/dev/ttyS[-]:串口
/dev/lp[-]:并口
/dev/console:控制台(tty)
/dev/fb[-]:framebuffer
/dev/cdrom => /dev/hdc
/dev/modem => /dev/ttyS[-]
/dev/pilot => /dev/ttyS[-]
/dev/random:随机数设备
/dev/urandom:随机数设备

0x1: tty(本地交互终端shell设备)
"tty"这个词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后 来这东西被键盘与显示器取代,所以现在叫终端比较合适。
终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。
通常我们在linux下看到的控制台(console)是由几个设备完成的。分别是

. /dev/tty0
tty0就是/dev/console,由linux/drivers/char/console.c对应 . /dev/tty1
. /dev/tty2
tty1,tty2就是不同的虚拟终端(virtual console)。通常使用热键alt+Fn来在这些虚拟终端之间进行切换。由和vt.c对应 . /dev/tty3
. /dev/tty4
. /dev/tty5
. /dev/tty6
...

0x2: pty(远程登录交互终端shell设备)

我们在远程telnet到主机或使用xterm时也需要一个终端交互,这就是虚拟终端pty(pseudo-tty)

ll /dev/pts

/dev/pts是远程登陆(telnet,ssh等)后创建的控制台设备文件所在的目录。由于可能有好几千个用户登陆,所以/dev/pts其实是动态生成的,不象其他设备文件是构建系统时就已经产生的硬盘节点(如果未使用devfs)

. /dev/pts/
第一个用户登陆,console的设备文件为/dev/pts/
. /dev/pts/
第二个为/dev/pts/
. 以此类推
//这里的0、1、2、3不是具体的标准输入或输出,而是整个控制台

Relevant Link:

http://blog.csdn.net/maopig/article/details/7195048
http://www.jz123.cn/text/1929468.html

7. 内存相关

0x1: /proc/iomem: I/O内存

zhenghan.zh@miser010249213142.yh $ cat /proc/iomem
-0009dbff : System RAM
0009dc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c8bff : Video ROM
000c9000-000c97ff : Adapter ROM
000c9800-000cb9ff : Adapter ROM
000f0000-000fffff : System ROM
-dfffcfff : System RAM
-0047dd90 : Kernel code
0047dd91-005c075f : Kernel data
dfffd000-dfffffff : reserved
f0000000-f1ffffff : ::02.0
f2000000-f2000fff : ::02.0
f2010000-f201ffff : ::02.0
f2020000-f2020fff : ::03.0
f2020000-f2020fff : virtio-pci
f2030000-f203ffff : ::03.0
f2040000-f2040fff : ::04.0
f2040000-f2040fff : virtio-pci
fffbc000-ffffffff : reserved
-2132fffff : System RAM

Copyright (c) 2014 LittleHann All rights reserved

上一篇:Spring 连接数据库测试


下一篇:[python]mysql数据缓存到redis中 取出时候编码问题