linux系统下查看CPU、内存负载情况

linux系统下查看CPU、内存负载情况

15.

16. free = global_page_state(NR_FILE_PAGES);

17. free += nr_swap_pages;

18.

19. /*

20. \* Any slabs which are created with the

21. \* SLAB_RECLAIM_ACCOUNT flag claim to have contents

22. \* which are reclaimable, under pressure. The dentry

23. \* cache and most inode caches should fall into this

24. */

25. free += global_page_state(NR_SLAB_RECLAIMABLE);

26.

27. /*

28. \* Leave the last 3% for root

29. */

30. if (!cap_sys_admin)

31. free -= free / 32; //root用户可以在free更少(3%)的时候,分配内存。

32.

33. if (free > pages) // pages为需要分配的内存大小,free为根据一定规则算出来的空闲内存大小,第一次free仅为NR_FILE_PAGES+NR_SLAB_RECLAIMABLE,由于直

接或者系统中实际空闲内存代价比较大,所以进行分阶判断,提高效率。

34. return 0;

35.

36. /*

37. \* nr_free_pages() is very expensive on large systems,

38. \* only call if we're about to fail.

39. */

40. n = nr_free_pages(); //当第一次判断不满足内存分配条件时,再进行实际空闲内存的获取操作。

41.

42. /*

43. \* Leave reserved pages. The pages are not for anonymous pages.

44. */

45. if (n <= totalreserve_pages)

46. goto error;

47. else

48. n -= totalreserve_pages;

49.

50. /*

51. \* Leave the last 3% for root

52. */

53. if (!cap_sys_admin)

54. n -= n / 32;

55. free += n;

56.

57. if (free > pages)

58. return 0;

59.

60. goto error;

61. }

62.

63. allowed = (totalram_pages - hugetlb_total_pages()) //overcommit_memory=2时,根据系统中虚拟地址空间的总量来进行限制。

64. \* sysctl_overcommit_ratio / 100;

65. /*

66. \* Leave the last 3% for root

67. */

68. if (!cap_sys_admin)

69. allowed -= allowed / 32;

70. allowed += total_swap_pages;

71.

72. /* Don't let a single process grow too big:

73. leave 3% of the size of this process for other processes */

74. if (mm)

75. allowed -= mm->total_vm / 32;

76.

77. if (percpu_counter_read_positive(&vm_committed_as) < allowed)

78. return 0;

79. error:

80. vm_unacct_memory(pages);

81.

82. return -ENOMEM;

83. }procs

r 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu

b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。

cpu 表示cpu的使用状态

us 列显示了用户方式下所花费 CPU 时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。

sy 列显示了内核进程所花费的cpu时间的百分比。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。

wa 列显示了IO等待所占用的CPU时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控

制器的带宽瓶颈造成的(主要是块操作)

id 列显示了cpu处在空闲状态的时间百分比

system 显示采集间隔内发生的中断数

in 列表示在某一时间间隔中观测到的每秒设备中断数。

cs列表示每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。

memory

swpd 切换到内存交换区的内存数量(k表示)。如果swpd的值不为0,或者比较大,比如超过了100m,只要siso的值长期为0,系统性能还是正常

free 当前的空闲页面列表中内存数量(k表示)

buff 作为buffer cache的内存数量,一般对块设备的读写才需要缓冲。

cache: 作为page cache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IObi比较小,说明文件系统效率比较好。

swap

si 由内存进入内存交换区数量。

so由内存交换区进入内存数量。

IO

bi 从块设备读入数据的总量(读磁盘)(每秒kb)。

bo 块设备写入数据的总量(写磁盘)(每秒kb

绝对路径:如/etc/init.d

当前目录和上层目录:./ ../ 主目录:~/

切换目录:cd

查看当前进程:ps 执行退出:exit

查看当前路径:pwd

清屏:clear

退出当前命令:ctrl+c 彻底退出执行睡眠 :ctrl+z 挂起当前进程 fg 恢复后台查看当前用户 id”id“:查看显示目前登陆账户的 uid  gid 及所属分组及用户名

查看指定帮助:如 man adduser 这个很全 而且有例子;adduser --help 这个告诉你一些常用参数;info adduesr

答案: ls 执行的功能:列出指定目录中的目录,以及文件哪些参数以及区别:a 所有文件 l 详细信息,包括大小字节数,可读可写可执行的权限等

软链接:ln -s slink source 硬链接:ln link source

创建目录:mkdir

创建文件:典型的如 touchvi 也可以创建文件,其实只要向一个不存在的文件输出,都会创建文件复制文件:cp 7. 文件权限修改用什么命令?格式是怎么样的?文件权限修

改:chmod

格式如下:

$ chmod u+x file  file 的属主增加执行权限

$ chmod 751 file  file 的属主分配读、写、执行(7)的权限,给 file 的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

$ chmod u=rwx,g=rx,o=x file 上例的另一种形式

$ chmod =r file 为所有用户分配读权限

$ chmod 444 file 同上例

$ chmod a-wx,a+r file 同上例

$ chmod -R u+r directory 递归地给 directory 目录下所有文件和子目录的属主分配读的权限

你可能感兴趣的:(linux,java,运维)