Chinaunix首页 | 论坛 | 博客
  • 博客访问: 394000
  • 博文数量: 40
  • 博客积分: 1004
  • 博客等级: 准尉
  • 技术积分: 469
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-01 17:02
文章分类

全部博文(40)

文章存档

2011年(40)

分类: LINUX

2011-10-01 09:10:47

    大家都知道进程都 是在内存中,而内存中的数据都写入到了/proc/*目录中的文件中去了,所以很有必要分析这个文件夹内的内容。
  1. [root@localhost proc]# ls
  2. 1 1658 2016 2353 246 5572 devices mpt
  3. 10 1694 2019 2359 247 5573 diskstats mtd
  4. 10147 17 2024 236 248 5574 dma mtrr
  5. 11 1783 2026 2367 25 5590 driver net
  6. 12 18 2028 2374 2547 5594 execdomains pagetypeinfo
  7. 13 19 2030 2378 2552 569 fb partitions
  8. 1359 1930 2032 2382 2556 6 filesystems sched_debug
  9. 14 1939 2043 2384 2561 66 fs schedstat
  10. 1407 1940 2045 2393 26 7 interrupts scsi
  11. 1423 1941 2067 2395 27 792 iomem self
  12. 1464 1949 21 2396 2705 793 ioports slabinfo
  13. 1482 1957 2148 2399 2708 794 irq softirqs
  14. 1492 1965 2155 2400 28 795 kallsyms stat
  15. 1496 1977 2196 2403 29 8 kcore swaps
  16. 15 1988 22 2404 3 837 key-users sys
  17. 1504 2 2208 2405 3171 861 keys sysrq-trigger
  18. 1505 20 2215 2406 3254 867 kmsg sysvipc
  19. 1523 2006 2298 2410 339 9 kpagecount timer_list
  20. 1552 2008 23 2417 34 acpi kpageflags timer_stats
  21. 1565 2009 2308 2418 340 asound loadavg tty
  22. 1574 2010 2317 2420 346 buddyinfo locks uptime
  23. 1575 2011 2318 2421 36 bus mdstat version
  24. 16 2012 2337 2423 37 cgroups meminfo vmallocinfo
  25. 1613 2013 2345 2426 4 cmdline misc vmstat
  26. 1616 2014 2346 2431 421 cpuinfo modules zoneinfo
  27. 1640 2015 235 2442 5 crypto mounts
    首先我们先观察目录中的内容,基本上,目前主机上面的各个程序的 PID 都是以目录的型态存在於 /proc 当中。 举例来说,我们启动所运行的第一支程序 init 他的 PID 是 1 , 这个 PID 的所有相关资讯都写入在 /proc/1/* 当中!若我们直接观察 PID 为 1 的数据好了。其中cmdline不表示启动这个进程的命令串,environ表示这个进程的环境变量内容。
查看cmdline如下
  1. [root@localhost proc]# cd 1
  2. [root@localhost 1]# ls
  3. attr cwd loginuid oom_adj sessionid task
  4. auxv environ maps oom_score smaps wchan
  5. cgroup exe mem pagemap stack
  6. clear_refs fd mountinfo personality stat
  7. cmdline fdinfo mounts root statm
  8. coredump_filter io mountstats sched status
  9. cpuset limits net schedstat syscall
  10. [root@localhost 1]# cat cmdline
  11. /sbin/init

就是这个命令与参数启动init的。
/proc目录下的文件与对应的内容
档名 文件内容
/proc/cmdline 加载 kernel 时所下达的相关参数!查阅此文件,可了解系统是如何启动的!
/proc/cpuinfo 本机的 CPU 的相关资讯,包含时脉、类型与运算功能等
/proc/devices 这个文件记录了系统各个主要装置的主要装置代号,与 mknod 有关呢!
/proc/filesystems 目前系统已经加载的文件系统罗!
/proc/interrupts 目前系统上面的 IRQ 分配状态。
/proc/ioports 目前系统上面各个装置所配置的 I/O 位址。
/proc/kcore 这个就是内存的大小啦!好大对吧!但是不要读他啦!
/proc/loadavg 还记得 top 以及 uptime 吧?没错!上头的三个平均数值就是记录在此!
/proc/meminfo 使用 free 列出的内存资讯,嘿嘿!在这里也能够查阅到!
/proc/modules 目前我们的 Linux 已经加载的模块列表,也可以想成是驱动程序啦!
/proc/mounts 系统已经挂载的数据,就是用 mount 这个命令呼叫出来的数据啦!
/proc/swaps 到底系统挂加载的内存在哪里?呵呵!使用掉的 partition 就记录在此啦!
/proc/partitions 使用 fdisk -l 会出现目前所有的 partition 吧?在这个文件当中也有纪录喔!
/proc/pci 在 PCI 汇流排上面,每个装置的详细情况!可用 lspci 来查阅!
/proc/uptime 就是用 uptime 的时候,会出现的资讯啦!
/proc/version 核心的版本,就是用 uname -a 显示的内容啦!
/proc/bus/* 一些汇流排的装置,还有 U盘 的装置也记录在此喔!

阅读(14280) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~