执行top命令
top - 14:32:57 up 113 days, 2:54, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 201 total, 1 running, 199 sleeping, 0 stopped, 1 zombie Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 16333796k total, 14471796k used, 1862000k free, 285644k buffers Swap: 5242876k total, 16172k used, 5226704k free, 6677132k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 10199 sfapp 20 0 4695m 504m 22m S 0.7 3.2 339:47.88 java 74721 sfapp 20 0 4240m 460m 22m S 0.7 2.9 51:35.31 java 30272 mysql 20 0 1890m 458m 8352 S 0.3 2.9 82:38.00 mysqld 47992 sfapp 20 0 1787m 302m 16m S 0.3 1.9 617:45.77 java 107545 sfapp 20 0 8386m 216m 12m S 0.3 1.4 64:20.92 java 1 root 20 0 19364 1356 1132 S 0.0 0.0 0:01.53 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root RT 0 0 0 0 S 0.0 0.0 0:01.51 migration/0 4 root 20 0 0 0 0 S 0.0 0.0 0:10.92 ksoftirqd/0 5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0 6 root RT 0 0 0 0 S 0.0 0.0 1:28.86 watchdog/0 7 root RT 0 0 0 0 S 0.0 0.0 0:07.76 migration/1 8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/1 9 root 20 0 0 0 0 S 0.0 0.0 0:12.49 ksoftirqd/1 10 root RT 0 0 0 0 S 0.0 0.0 1:29.32 watchdog/1 11 root RT 0 0 0 0 S 0.0 0.0 0:03.62 migration/2 12 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/2
第一行:当前时间 系统运行时间 用户数 负载(三个数分别是过去1分钟,5分钟,15分钟到现在的负载均值)
第二行任务信息:任务总数,运行,睡眠,停止,僵尸(任务已完成,但是还在任务列表中,不会占用资源,也不会被调度,唯一危害就是数量多的情况下有可能撑爆任务列表)
在linux的 /proc目录也记录了上述信息,proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。
用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。下面列出的这些文件或子文件夹,并不是都是在你的系统中存在,这取决于你的内核配置和装载的模块。另外,在/proc下还有三个很重要的目录:net,scsi和sys。 Sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi 目录不存在
在/proc目录下,有以数字命名的子目录,这些数字表示进程的pid,子目录中包含的具体的信息,例如status是进程的状态
进程状态
R (task_running) : 可执行状态
S (task_interruptible): 可中断的睡眠状态
D (task_uninterruptible): 不可中断的睡眠状态
T (task_stopped or task_traced): 暂停状态或跟踪状态
Z (task_dead - exit_zombie): 退出状态,进程成为僵尸进程
X (task_dead - exit_dead): 退出状态,进程即将被销毁