点击返回架构师成长之路

架构师成长之路1.1-系统监控工具htop

htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。

与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。

与top相比,htop有以下优点:

  • 可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。
  • 在启动上,比top 更快。
  • 杀进程时不需要输入进程号。
  • htop 支持鼠标操作。
  • 支持进程树状显示、按名称查找进程
    (显示进程打开的文件<打开htop后选择某一个进程,按s键即可用strace追踪进程的系统调用>,及显示进程内存映射情况。)

1. htop获取与安装

Htop的安装,既可以通过源码包编译安装,也可以配置好yum源后网络下载安装。

本文介绍源码安装

已经将文件下载在linux系统上面,然后解包。

  •  步骤2、要解包一个软件的tarball,使用标准的tar命令。 
  •  步骤3、cd进入目录后,检查系统拥有合适的编译器能够编译源代码,make构建各种二进制文件

tar -zxvf htop-1.0.2.tar.gz

  1. [root@CactiEZ /]# tar -zxvf htop-1.0.2.tar.gz
  2. htop-1.0.2/
  3. htop-1.0.2/config.sub
  4. htop-1.0.2/htop.1.in
  5. htop-1.0.2/AvailableMetersPanel.h
  6. htop-1.0.2/Settings.h
  7. htop-1.0.2/CategoriesPanel.c
  8. htop-1.0.2/OpenFilesScreen.c
  9. htop-1.0.2/UptimeMeter.c
  10. htop-1.0.2/MetersPanel.c
  11. htop-1.0.2/install-sh
  12. htop-1.0.2/README
  13. htop-1.0.2/AvailableColumnsPanel.c
  14. htop-1.0.2/MemoryMeter.c
  15. htop-1.0.2/SignalsPanel.c
  16. htop-1.0.2/SwapMeter.h
  17. htop-1.0.2/FunctionBar.c
  18. htop-1.0.2/AvailableMetersPanel.c
  19. htop-1.0.2/TasksMeter.c
  20. htop-1.0.2/CategoriesPanel.h
  21. htop-1.0.2/htop.c
  22. htop-1.0.2/Vector.h
  23. htop-1.0.2/Makefile.am
  24. htop-1.0.2/autogen.sh
  25. htop-1.0.2/BatteryMeter.h
  26. htop-1.0.2/Affinity.h
  27. htop-1.0.2/aclocal.m4
  28. htop-1.0.2/LoadAverageMeter.h
  29. htop-1.0.2/CheckItem.h
  30. htop-1.0.2/htop.png
  31. htop-1.0.2/configure
  32. htop-1.0.2/FunctionBar.h
  33. htop-1.0.2/depcomp
  34. htop-1.0.2/Header.h
  35. htop-1.0.2/IOPriority.c
  36. htop-1.0.2/ColumnsPanel.h
  37. htop-1.0.2/ColumnsPanel.c
  38. htop-1.0.2/m4/
  39. htop-1.0.2/m4/lt~obsolete.m4
  40. htop-1.0.2/m4/ltoptions.m4
  41. htop-1.0.2/m4/ltsugar.m4
  42. htop-1.0.2/m4/ltversion.m4
  43. htop-1.0.2/m4/libtool.m4
  44. htop-1.0.2/UptimeMeter.h
  45. htop-1.0.2/ListItem.h
  46. htop-1.0.2/SignalsPanel.h
  47. htop-1.0.2/IOPriorityPanel.h
  48. htop-1.0.2/Settings.c
  49. htop-1.0.2/htop.1
  50. htop-1.0.2/configure.ac
  51. htop-1.0.2/Meter.h
  52. htop-1.0.2/MemoryMeter.h
  53. htop-1.0.2/Header.c
  54. htop-1.0.2/IOPriorityPanel.c
  55. htop-1.0.2/CPUMeter.c
  56. htop-1.0.2/ChangeLog
  57. htop-1.0.2/UsersTable.c
  58. htop-1.0.2/ltmain.sh
  59. htop-1.0.2/HostnameMeter.h
  60. htop-1.0.2/Affinity.c
  61. htop-1.0.2/Hashtable.c
  62. htop-1.0.2/BatteryMeter.c
  63. htop-1.0.2/config.h
  64. htop-1.0.2/Meter.c
  65. htop-1.0.2/htop.desktop
  66. htop-1.0.2/config.h.in
  67. htop-1.0.2/RichString.c
  68. htop-1.0.2/OpenFilesScreen.h
  69. htop-1.0.2/String.h
  70. htop-1.0.2/ClockMeter.c
  71. htop-1.0.2/Process.h
  72. htop-1.0.2/RichString.h
  73. htop-1.0.2/ClockMeter.h
  74. htop-1.0.2/AffinityPanel.h
  75. htop-1.0.2/CRT.h
  76. htop-1.0.2/ListItem.c
  77. htop-1.0.2/SwapMeter.c
  78. htop-1.0.2/CPUMeter.h
  79. htop-1.0.2/Panel.c
  80. htop-1.0.2/Panel.h
  81. htop-1.0.2/ProcessList.h
  82. htop-1.0.2/Object.h
  83. htop-1.0.2/LoadAverageMeter.c
  84. htop-1.0.2/AffinityPanel.c
  85. htop-1.0.2/Process.c
  86. htop-1.0.2/ScreenManager.h
  87. htop-1.0.2/MetersPanel.h
  88. htop-1.0.2/String.c
  89. htop-1.0.2/INSTALL
  90. htop-1.0.2/UsersTable.h
  91. htop-1.0.2/TasksMeter.h
  92. htop-1.0.2/NEWS
  93. htop-1.0.2/CRT.c
  94. htop-1.0.2/htop.h
  95. htop-1.0.2/TraceScreen.h
  96. htop-1.0.2/AUTHORS
  97. htop-1.0.2/ScreenManager.c
  98. htop-1.0.2/ColorsPanel.c
  99. htop-1.0.2/TraceScreen.c
  100. htop-1.0.2/DisplayOptionsPanel.h
  101. htop-1.0.2/ProcessList.c
  102. htop-1.0.2/CheckItem.c
  103. htop-1.0.2/IOPriority.h
  104. htop-1.0.2/AvailableColumnsPanel.h
  105. htop-1.0.2/compile
  106. htop-1.0.2/HostnameMeter.c
  107. htop-1.0.2/Makefile.in
  108. htop-1.0.2/Object.c
  109. htop-1.0.2/ColorsPanel.h
  110. htop-1.0.2/Vector.c
  111. htop-1.0.2/DisplayOptionsPanel.c
  112. htop-1.0.2/scripts/
  113. htop-1.0.2/scripts/MakeHeader.py
  114. htop-1.0.2/missing
  115. htop-1.0.2/COPYING
  116. htop-1.0.2/Hashtable.h
  117. htop-1.0.2/config.guess
  118. [root@CactiEZ /]#

tar -zxvf htop-1.0.2.tar.gz

  1.  

提示没有安装GNC C编辑器。以下安装GNC C编辑器 。

yum -y install gcc

  1. [root@CactiEZ /]# yum -y install gcc
  2. Loaded plugins: fastestmirror
  3. Loading mirror speeds from cached hostfile
  4. * base: mirrors.aliyun.com
  5. * extras: mirrors.tuna.tsinghua.edu.cn
  6. * updates: mirrors.tuna.tsinghua.edu.cn
  7. Setting up Install Process
  8. Resolving Dependencies
  9. --> Running transaction check
  10. ---> Package gcc.i686 :4.4.-.el6 set to be updated
  11. --> Processing Dependency: libgomp = 4.4.-.el6 for package: gcc-4.4.-.el6.i686
  12. --> Processing Dependency: cpp = 4.4.-.el6 for package: gcc-4.4.-.el6.i686
  13. --> Processing Dependency: libgcc >= 4.4.-.el6 for package: gcc-4.4.-.el6.i686
  14. --> Processing Dependency: glibc-devel >= 2.2.- for package: gcc-4.4.-.el6.i686
  15. --> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.-.el6.i686
  16. --> Processing Dependency: libgomp.so. for package: gcc-4.4.-.el6.i686
  17. --> Running transaction check
  18. ---> Package cloog-ppl.i686 :0.15.-1.2.el6 set to be updated
  19. --> Processing Dependency: libppl_c.so. for package: cloog-ppl-0.15.-1.2.el6.i686
  20. --> Processing Dependency: libppl.so. for package: cloog-ppl-0.15.-1.2.el6.i686
  21. ---> Package cpp.i686 :4.4.-.el6 set to be updated
  22. --> Processing Dependency: libmpfr.so. for package: cpp-4.4.-.el6.i686
  23. ---> Package glibc-devel.i686 :2.12-1.212.el6 set to be updated
  24. --> Processing Dependency: glibc-headers = 2.12-1.212.el6 for package: glibc-devel-2.12-1.212.el6.i686
  25. --> Processing Dependency: glibc = 2.12-1.212.el6 for package: glibc-devel-2.12-1.212.el6.i686
  26. --> Processing Dependency: glibc-headers for package: glibc-devel-2.12-1.212.el6.i686
  27. ---> Package libgcc.i686 :4.4.-.el6 set to be updated
  28. ---> Package libgomp.i686 :4.4.-.el6 set to be updated
  29. --> Running transaction check
  30. --> Processing Dependency: glibc = 2.12-1.7.el6 for package: glibc-common-2.12-1.7.el6.i686
  31. ---> Package glibc.i686 :2.12-1.212.el6 set to be updated
  32. ---> Package glibc-headers.i686 :2.12-1.212.el6 set to be updated
  33. --> Processing Dependency: kernel-headers >= 2.2. for package: glibc-headers-2.12-1.212.el6.i686
  34. --> Processing Dependency: kernel-headers for package: glibc-headers-2.12-1.212.el6.i686
  35. ---> Package mpfr.i686 :2.4.-.el6 set to be updated
  36. ---> Package ppl.i686 :0.10.-.el6 set to be updated
  37. --> Running transaction check
  38. ---> Package glibc-common.i686 :2.12-1.212.el6 set to be updated
  39. --> Processing Dependency: tzdata >= 2015g- for package: glibc-common-2.12-1.212.el6.i686
  40. ---> Package kernel-headers.i686 :2.6.-754.3..el6 set to be updated
  41. --> Running transaction check
  42. ---> Package tzdata.noarch :2018e-.el6 set to be updated
  43. --> Finished Dependency Resolution
  44.  
  45. Dependencies Resolved
  46.  
  47. ========================================================================================================================================
  48. Package Arch Version Repository Size
  49. ========================================================================================================================================
  50. Installing:
  51. gcc i686 4.4.-.el6 base 8.2 M
  52. Installing for dependencies:
  53. cloog-ppl i686 0.15.-1.2.el6 base k
  54. cpp i686 4.4.-.el6 base 3.4 M
  55. glibc-devel i686 2.12-1.212.el6 base k
  56. glibc-headers i686 2.12-1.212.el6 base k
  57. kernel-headers i686 2.6.-754.3..el6 updates 4.5 M
  58. libgomp i686 4.4.-.el6 base k
  59. mpfr i686 2.4.-.el6 base k
  60. ppl i686 0.10.-.el6 base 1.3 M
  61. Updating for dependencies:
  62. glibc i686 2.12-1.212.el6 base 4.4 M
  63. glibc-common i686 2.12-1.212.el6 base M
  64. libgcc i686 4.4.-.el6 base k
  65. tzdata noarch 2018e-.el6 base k
  66.  
  67. Transaction Summary
  68. ========================================================================================================================================
  69. Install Package(s)
  70. Upgrade Package(s)
  71.  
  72. Total download size: M
  73. Downloading Packages:
  74. (/): cloog-ppl-0.15.-1.2.el6.i686.rpm | kB :
  75. (/): cpp-4.4.-.el6.i686.rpm | 3.4 MB :
  76. (/): gcc-4.4.-.el6.i686.rpm | 8.2 MB :
  77. (/): glibc-2.12-1.212.el6.i686.rpm | 4.4 MB :
  78. (/): glibc-common-2.12-1.212.el6.i686.rpm | MB :
  79. (/): glibc-devel-2.12-1.212.el6.i686.rpm | kB :
  80. (/): glibc-headers-2.12-1.212.el6.i686.rpm | kB :
  81. (/): kernel-headers-2.6.-754.3..el6.i686.rpm | 4.5 MB :
  82. (/): libgcc-4.4.-.el6.i686.rpm | kB :
  83. (/): libgomp-4.4.-.el6.i686.rpm | kB :
  84. (/): mpfr-2.4.-.el6.i686.rpm | kB :
  85. (/): ppl-0.10.-.el6.i686.rpm | 1.3 MB :
  86. (/): tzdata-2018e-.el6.noarch.rpm | kB :
  87. ----------------------------------------------------------------------------------------------------------------------------------------
  88. Total kB/s | MB :
  89. Running rpm_check_debug
  90. Running Transaction Test
  91. Transaction Test Succeeded
  92. Running Transaction
  93. Updating : libgcc-4.4.-.el6.i686 /
  94. Updating : tzdata-2018e-.el6.noarch /
  95. Installing : kernel-headers-2.6.-754.3..el6.i686 /
  96. Updating : glibc-common-2.12-1.212.el6.i686 /
  97. Updating : glibc-2.12-1.212.el6.i686 /
  98. Installing : glibc-headers-2.12-1.212.el6.i686 /
  99. Installing : libgomp-4.4.-.el6.i686 /
  100. Installing : mpfr-2.4.-.el6.i686 /
  101. Installing : cpp-4.4.-.el6.i686 /
  102. Installing : ppl-0.10.-.el6.i686 /
  103. Installing : glibc-devel-2.12-1.212.el6.i686 /
  104. Installing : cloog-ppl-0.15.-1.2.el6.i686 /
  105. Installing : gcc-4.4.-.el6.i686 /
  106. Cleanup : glibc-common-2.12-1.7.el6.i686 /
  107. Cleanup : glibc-2.12-1.7.el6.i686 /
  108. Cleanup : tzdata-2010l-.el6.noarch /
  109. Cleanup : libgcc-4.4.-.el6.i686 /
  110.  
  111. Installed:
  112. gcc.i686 :4.4.-.el6
  113.  
  114. Dependency Installed:
  115. cloog-ppl.i686 :0.15.-1.2.el6 cpp.i686 :4.4.-.el6 glibc-devel.i686 :2.12-1.212.el6
  116. glibc-headers.i686 :2.12-1.212.el6 kernel-headers.i686 :2.6.-754.3..el6 libgomp.i686 :4.4.-.el6
  117. mpfr.i686 :2.4.-.el6 ppl.i686 :0.10.-.el6
  118.  
  119. Dependency Updated:
  120. glibc.i686 :2.12-1.212.el6 glibc-common.i686 :2.12-1.212.el6 libgcc.i686 :4.4.-.el6 tzdata.noarch :2018e-.el6
  121.  
  122. Complete!
  123. You have new mail in /var/spool/mail/root
  124. [root@CactiEZ /]# ^C

yum -y install gcc

再次使用 ./configure 确保系统拥有合适的编译器能够编译源代码。及具备正确的库依赖关系。

  1. [root@CactiEZ htop-1.0.]# ./configure
  2. checking for gcc... gcc
  3. checking whether the C compiler works... yes
  4. checking for C compiler default output file name... a.out
  5. checking for suffix of executables...
  6. checking whether we are cross compiling... no
  7. checking for suffix of object files... o
  8. checking whether we are using the GNU C compiler... yes
  9. checking whether gcc accepts -g... yes
  10. checking for gcc option to accept ISO C89... none needed
  11. checking how to run the C preprocessor... gcc -E
  12. checking for grep that handles long lines and -e... /bin/grep
  13. checking for egrep... /bin/grep -E
  14. checking for ANSI C header files... yes
  15. checking for sys/types.h... yes
  16. checking for sys/stat.h... yes
  17. checking for stdlib.h... yes
  18. checking for string.h... yes
  19. checking for memory.h... yes
  20. checking for strings.h... yes
  21. checking for inttypes.h... yes
  22. checking for stdint.h... yes
  23. checking for unistd.h... yes
  24. checking minix/config.h usability... no
  25. checking minix/config.h presence... no
  26. checking for minix/config.h... no
  27. checking whether it is safe to define __EXTENSIONS__... yes
  28. checking build system type... i686-pc-linux-gnu
  29. checking host system type... i686-pc-linux-gnu
  30. checking target system type... i686-pc-linux-gnu
  31. checking for a BSD-compatible install... /usr/bin/install -c
  32. checking whether build environment is sane... yes
  33. checking for a thread-safe mkdir -p... /bin/mkdir -p
  34. checking for gawk... gawk
  35. checking whether make sets $(MAKE)... yes
  36. checking for style of include used by make... GNU
  37. checking dependency style of gcc... gcc3
  38. checking for gcc... (cached) gcc
  39. checking whether we are using the GNU C compiler... (cached) yes
  40. checking whether gcc accepts -g... (cached) yes
  41. checking for gcc option to accept ISO C89... (cached) none needed
  42. checking whether gcc and cc understand -c and -o together... yes
  43. checking how to print strings... printf
  44. checking for a sed that does not truncate output... /bin/sed
  45. checking for fgrep... /bin/grep -F
  46. checking for ld used by gcc... /usr/bin/ld
  47. checking if the linker (/usr/bin/ld) is GNU ld... yes
  48. checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
  49. checking the name lister (/usr/bin/nm -B) interface... BSD nm
  50. checking whether ln -s works... yes
  51. checking the maximum length of command line arguments...
  52. checking whether the shell understands some XSI constructs... yes
  53. checking whether the shell understands "+="... yes
  54. checking for /usr/bin/ld option to reload object files... -r
  55. checking for objdump... objdump
  56. checking how to recognize dependent libraries... pass_all
  57. checking for ar... ar
  58. checking for strip... strip
  59. checking for ranlib... ranlib
  60. checking command to parse /usr/bin/nm -B output from gcc object... ok
  61. checking for dlfcn.h... yes
  62. checking for objdir... .libs
  63. checking if gcc supports -fno-rtti -fno-exceptions... no
  64. checking for gcc option to produce PIC... -fPIC -DPIC
  65. checking if gcc PIC flag -fPIC -DPIC works... yes
  66. checking if gcc static flag -static works... no
  67. checking if gcc supports -c -o file.o... yes
  68. checking if gcc supports -c -o file.o... (cached) yes
  69. checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
  70. checking dynamic linker characteristics... GNU/Linux ld.so
  71. checking how to hardcode library paths into programs... immediate
  72. checking whether stripping libraries is possible... yes
  73. checking if libtool supports shared libraries... yes
  74. checking whether to build shared libraries... no
  75. checking whether to build static libraries... yes
  76. checking for ceil in -lm... yes
  77. checking for dirent.h that defines DIR... yes
  78. checking for library containing opendir... none required
  79. checking for ANSI C header files... (cached) yes
  80. checking for stdlib.h... (cached) yes
  81. checking for string.h... (cached) yes
  82. checking for strings.h... (cached) yes
  83. checking sys/param.h usability... yes
  84. checking sys/param.h presence... yes
  85. checking for sys/param.h... yes
  86. checking sys/time.h usability... yes
  87. checking sys/time.h presence... yes
  88. checking for sys/time.h... yes
  89. checking for unistd.h... (cached) yes
  90. checking curses.h usability... no
  91. checking curses.h presence... no
  92. checking for curses.h... no
  93. checking execinfo.h usability... yes
  94. checking execinfo.h presence... yes
  95. checking for execinfo.h... yes
  96. checking for stdbool.h that conforms to C99... yes
  97. checking for _Bool... yes
  98. checking for an ANSI C-conforming const... yes
  99. checking for pid_t... yes
  100. checking for uid_t in sys/types.h... yes
  101. checking whether closedir returns void... no
  102. checking return type of signal handlers... void
  103. checking whether lstat correctly handles trailing slash... yes
  104. checking whether stat accepts an empty string... no
  105. checking for memmove... yes
  106. checking for strncasecmp... yes
  107. checking for strstr... yes
  108. checking for strdup... yes
  109. checking whether gcc -std=c99 option works... yes
  110. checking for refresh in -lncursesw... no
  111. configure: error: You may want to use --disable-unicode or install libncursesw.

./configure

最后一段出现错误:

configure: error: You may want to use --disable-unicode or install libncursesw.

需要安装 ncurses-devel

yum install ncurses-devel

  1. [root@CactiEZ htop-1.0.2]# yum install ncurses-devel
  2. Loaded plugins: fastestmirror
  3. Loading mirror speeds from cached hostfile
  4. * base: mirrors.aliyun.com
  5. * extras: mirrors.tuna.tsinghua.edu.cn
  6. * updates: mirrors.tuna.tsinghua.edu.cn
  7. Setting up Install Process
  8. Resolving Dependencies
  9. --> Running transaction check
  10. ---> Package ncurses-devel.i686 0:5.7-4.20090207.el6 set to be updated
  11. --> Processing Dependency: ncurses-libs = 5.7-4.20090207.el6 for package: ncurses-devel-5.7-4.20090207.el6.i686
  12. --> Processing Dependency: pkgconfig for package: ncurses-devel-5.7-4.20090207.el6.i686
  13. --> Processing Dependency: /usr/bin/pkg-config for package: ncurses-devel-5.7-4.20090207.el6.i686
  14. --> Running transaction check
  15. ---> Package ncurses-libs.i686 0:5.7-4.20090207.el6 set to be updated
  16. --> Processing Dependency: ncurses-base = 5.7-4.20090207.el6 for package: ncurses-libs-5.7-4.20090207.el6.i686
  17. ---> Package pkgconfig.i686 1:0.23-9.1.el6 set to be updated
  18. --> Running transaction check
  19. ---> Package ncurses-base.i686 0:5.7-4.20090207.el6 set to be updated
  20. --> Finished Dependency Resolution
  21.  
  22. Dependencies Resolved
  23.  
  24. ========================================================================================================================================
  25. Package Arch Version Repository Size
  26. ========================================================================================================================================
  27. Installing:
  28. ncurses-devel i686 5.7-4.20090207.el6 base 641 k
  29. Installing for dependencies:
  30. pkgconfig i686 1:0.23-9.1.el6 base 67 k
  31. Updating for dependencies:
  32. ncurses-base i686 5.7-4.20090207.el6 base 61 k
  33. ncurses-libs i686 5.7-4.20090207.el6 base 249 k
  34.  
  35. Transaction Summary
  36. ========================================================================================================================================
  37. Install 2 Package(s)
  38. Upgrade 2 Package(s)
  39.  
  40. Total download size: 1.0 M
  41. Is this ok [y/N]: y
  42. Downloading Packages:
  43. (1/4): ncurses-base-5.7-4.20090207.el6.i686.rpm | 61 kB 00:00
  44. (2/4): ncurses-devel-5.7-4.20090207.el6.i686.rpm | 641 kB 00:01
  45. (3/4): ncurses-libs-5.7-4.20090207.el6.i686.rpm | 249 kB 00:00
  46. (4/4): pkgconfig-0.23-9.1.el6.i686.rpm | 67 kB 00:00
  47. ----------------------------------------------------------------------------------------------------------------------------------------
  48. Total 320 kB/s | 1.0 MB 00:03
  49. Running rpm_check_debug
  50. Running Transaction Test
  51. Transaction Test Succeeded
  52. Running Transaction
  53. Updating : ncurses-base-5.7-4.20090207.el6.i686 1/6
  54. Updating : ncurses-libs-5.7-4.20090207.el6.i686 2/6
  55. Installing : 1:pkgconfig-0.23-9.1.el6.i686 3/6
  56. Installing : ncurses-devel-5.7-4.20090207.el6.i686 4/6
  57. Cleanup : ncurses-libs-5.7-3.20090208.el6.i686 5/6
  58. Cleanup : ncurses-base-5.7-3.20090208.el6.i686 6/6
  59.  
  60. Installed:
  61. ncurses-devel.i686 0:5.7-4.20090207.el6
  62.  
  63. Dependency Installed:
  64. pkgconfig.i686 1:0.23-9.1.el6
  65.  
  66. Dependency Updated:
  67. ncurses-base.i686 0:5.7-4.20090207.el6 ncurses-libs.i686 0:5.7-4.20090207.el6
  68.  
  69. Complete!
  70. [root@CactiEZ htop-1.0.2]#

yum install ncurses-devel

重新执行./configure

然后,make构建各种二进制文件

  1. [root@CactiEZ htop-1.0.]# make
  2. make all-am
  3. make[]: Entering directory `/htop-1.0.'
  4. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-AvailableMetersPanel.o -MD -MP -MF .deps/htop-AvailableMetersPanel.Tpo -c -o htop-AvailableMetersPanel.o `test -f 'AvailableMetersPanel.c' || echo './'`AvailableMetersPanel.c
  5. mv -f .deps/htop-AvailableMetersPanel.Tpo .deps/htop-AvailableMetersPanel.Po
  6. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-CategoriesPanel.o -MD -MP -MF .deps/htop-CategoriesPanel.Tpo -c -o htop-CategoriesPanel.o `test -f 'CategoriesPanel.c' || echo './'`CategoriesPanel.c
  7. mv -f .deps/htop-CategoriesPanel.Tpo .deps/htop-CategoriesPanel.Po
  8. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-CheckItem.o -MD -MP -MF .deps/htop-CheckItem.Tpo -c -o htop-CheckItem.o `test -f 'CheckItem.c' || echo './'`CheckItem.c
  9. mv -f .deps/htop-CheckItem.Tpo .deps/htop-CheckItem.Po
  10. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-ClockMeter.o -MD -MP -MF .deps/htop-ClockMeter.Tpo -c -o htop-ClockMeter.o `test -f 'ClockMeter.c' || echo './'`ClockMeter.c
  11. mv -f .deps/htop-ClockMeter.Tpo .deps/htop-ClockMeter.Po
  12. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-ColorsPanel.o -MD -MP -MF .deps/htop-ColorsPanel.Tpo -c -o htop-ColorsPanel.o `test -f 'ColorsPanel.c' || echo './'`ColorsPanel.c
  13. mv -f .deps/htop-ColorsPanel.Tpo .deps/htop-ColorsPanel.Po
  14. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-ColumnsPanel.o -MD -MP -MF .deps/htop-ColumnsPanel.Tpo -c -o htop-ColumnsPanel.o `test -f 'ColumnsPanel.c' || echo './'`ColumnsPanel.c
  15. mv -f .deps/htop-ColumnsPanel.Tpo .deps/htop-ColumnsPanel.Po
  16. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-CPUMeter.o -MD -MP -MF .deps/htop-CPUMeter.Tpo -c -o htop-CPUMeter.o `test -f 'CPUMeter.c' || echo './'`CPUMeter.c
  17. mv -f .deps/htop-CPUMeter.Tpo .deps/htop-CPUMeter.Po
  18. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-CRT.o -MD -MP -MF .deps/htop-CRT.Tpo -c -o htop-CRT.o `test -f 'CRT.c' || echo './'`CRT.c
  19. mv -f .deps/htop-CRT.Tpo .deps/htop-CRT.Po
  20. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-DisplayOptionsPanel.o -MD -MP -MF .deps/htop-DisplayOptionsPanel.Tpo -c -o htop-DisplayOptionsPanel.o `test -f 'DisplayOptionsPanel.c' || echo './'`DisplayOptionsPanel.c
  21. mv -f .deps/htop-DisplayOptionsPanel.Tpo .deps/htop-DisplayOptionsPanel.Po
  22. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-FunctionBar.o -MD -MP -MF .deps/htop-FunctionBar.Tpo -c -o htop-FunctionBar.o `test -f 'FunctionBar.c' || echo './'`FunctionBar.c
  23. mv -f .deps/htop-FunctionBar.Tpo .deps/htop-FunctionBar.Po
  24. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Hashtable.o -MD -MP -MF .deps/htop-Hashtable.Tpo -c -o htop-Hashtable.o `test -f 'Hashtable.c' || echo './'`Hashtable.c
  25. mv -f .deps/htop-Hashtable.Tpo .deps/htop-Hashtable.Po
  26. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Header.o -MD -MP -MF .deps/htop-Header.Tpo -c -o htop-Header.o `test -f 'Header.c' || echo './'`Header.c
  27. mv -f .deps/htop-Header.Tpo .deps/htop-Header.Po
  28. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-htop.o -MD -MP -MF .deps/htop-htop.Tpo -c -o htop-htop.o `test -f 'htop.c' || echo './'`htop.c
  29. mv -f .deps/htop-htop.Tpo .deps/htop-htop.Po
  30. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-ListItem.o -MD -MP -MF .deps/htop-ListItem.Tpo -c -o htop-ListItem.o `test -f 'ListItem.c' || echo './'`ListItem.c
  31. mv -f .deps/htop-ListItem.Tpo .deps/htop-ListItem.Po
  32. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-LoadAverageMeter.o -MD -MP -MF .deps/htop-LoadAverageMeter.Tpo -c -o htop-LoadAverageMeter.o `test -f 'LoadAverageMeter.c' || echo './'`LoadAverageMeter.c
  33. mv -f .deps/htop-LoadAverageMeter.Tpo .deps/htop-LoadAverageMeter.Po
  34. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-MemoryMeter.o -MD -MP -MF .deps/htop-MemoryMeter.Tpo -c -o htop-MemoryMeter.o `test -f 'MemoryMeter.c' || echo './'`MemoryMeter.c
  35. mv -f .deps/htop-MemoryMeter.Tpo .deps/htop-MemoryMeter.Po
  36. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Meter.o -MD -MP -MF .deps/htop-Meter.Tpo -c -o htop-Meter.o `test -f 'Meter.c' || echo './'`Meter.c
  37. mv -f .deps/htop-Meter.Tpo .deps/htop-Meter.Po
  38. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-MetersPanel.o -MD -MP -MF .deps/htop-MetersPanel.Tpo -c -o htop-MetersPanel.o `test -f 'MetersPanel.c' || echo './'`MetersPanel.c
  39. mv -f .deps/htop-MetersPanel.Tpo .deps/htop-MetersPanel.Po
  40. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Object.o -MD -MP -MF .deps/htop-Object.Tpo -c -o htop-Object.o `test -f 'Object.c' || echo './'`Object.c
  41. mv -f .deps/htop-Object.Tpo .deps/htop-Object.Po
  42. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Panel.o -MD -MP -MF .deps/htop-Panel.Tpo -c -o htop-Panel.o `test -f 'Panel.c' || echo './'`Panel.c
  43. mv -f .deps/htop-Panel.Tpo .deps/htop-Panel.Po
  44. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-BatteryMeter.o -MD -MP -MF .deps/htop-BatteryMeter.Tpo -c -o htop-BatteryMeter.o `test -f 'BatteryMeter.c' || echo './'`BatteryMeter.c
  45. mv -f .deps/htop-BatteryMeter.Tpo .deps/htop-BatteryMeter.Po
  46. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Process.o -MD -MP -MF .deps/htop-Process.Tpo -c -o htop-Process.o `test -f 'Process.c' || echo './'`Process.c
  47. mv -f .deps/htop-Process.Tpo .deps/htop-Process.Po
  48. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-ProcessList.o -MD -MP -MF .deps/htop-ProcessList.Tpo -c -o htop-ProcessList.o `test -f 'ProcessList.c' || echo './'`ProcessList.c
  49. mv -f .deps/htop-ProcessList.Tpo .deps/htop-ProcessList.Po
  50. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-RichString.o -MD -MP -MF .deps/htop-RichString.Tpo -c -o htop-RichString.o `test -f 'RichString.c' || echo './'`RichString.c
  51. mv -f .deps/htop-RichString.Tpo .deps/htop-RichString.Po
  52. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-ScreenManager.o -MD -MP -MF .deps/htop-ScreenManager.Tpo -c -o htop-ScreenManager.o `test -f 'ScreenManager.c' || echo './'`ScreenManager.c
  53. mv -f .deps/htop-ScreenManager.Tpo .deps/htop-ScreenManager.Po
  54. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Settings.o -MD -MP -MF .deps/htop-Settings.Tpo -c -o htop-Settings.o `test -f 'Settings.c' || echo './'`Settings.c
  55. mv -f .deps/htop-Settings.Tpo .deps/htop-Settings.Po
  56. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-IOPriorityPanel.o -MD -MP -MF .deps/htop-IOPriorityPanel.Tpo -c -o htop-IOPriorityPanel.o `test -f 'IOPriorityPanel.c' || echo './'`IOPriorityPanel.c
  57. mv -f .deps/htop-IOPriorityPanel.Tpo .deps/htop-IOPriorityPanel.Po
  58. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-SignalsPanel.o -MD -MP -MF .deps/htop-SignalsPanel.Tpo -c -o htop-SignalsPanel.o `test -f 'SignalsPanel.c' || echo './'`SignalsPanel.c
  59. mv -f .deps/htop-SignalsPanel.Tpo .deps/htop-SignalsPanel.Po
  60. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-String.o -MD -MP -MF .deps/htop-String.Tpo -c -o htop-String.o `test -f 'String.c' || echo './'`String.c
  61. mv -f .deps/htop-String.Tpo .deps/htop-String.Po
  62. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-SwapMeter.o -MD -MP -MF .deps/htop-SwapMeter.Tpo -c -o htop-SwapMeter.o `test -f 'SwapMeter.c' || echo './'`SwapMeter.c
  63. mv -f .deps/htop-SwapMeter.Tpo .deps/htop-SwapMeter.Po
  64. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-TasksMeter.o -MD -MP -MF .deps/htop-TasksMeter.Tpo -c -o htop-TasksMeter.o `test -f 'TasksMeter.c' || echo './'`TasksMeter.c
  65. mv -f .deps/htop-TasksMeter.Tpo .deps/htop-TasksMeter.Po
  66. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-TraceScreen.o -MD -MP -MF .deps/htop-TraceScreen.Tpo -c -o htop-TraceScreen.o `test -f 'TraceScreen.c' || echo './'`TraceScreen.c
  67. mv -f .deps/htop-TraceScreen.Tpo .deps/htop-TraceScreen.Po
  68. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-UptimeMeter.o -MD -MP -MF .deps/htop-UptimeMeter.Tpo -c -o htop-UptimeMeter.o `test -f 'UptimeMeter.c' || echo './'`UptimeMeter.c
  69. mv -f .deps/htop-UptimeMeter.Tpo .deps/htop-UptimeMeter.Po
  70. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-UsersTable.o -MD -MP -MF .deps/htop-UsersTable.Tpo -c -o htop-UsersTable.o `test -f 'UsersTable.c' || echo './'`UsersTable.c
  71. mv -f .deps/htop-UsersTable.Tpo .deps/htop-UsersTable.Po
  72. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Vector.o -MD -MP -MF .deps/htop-Vector.Tpo -c -o htop-Vector.o `test -f 'Vector.c' || echo './'`Vector.c
  73. mv -f .deps/htop-Vector.Tpo .deps/htop-Vector.Po
  74. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-AvailableColumnsPanel.o -MD -MP -MF .deps/htop-AvailableColumnsPanel.Tpo -c -o htop-AvailableColumnsPanel.o `test -f 'AvailableColumnsPanel.c' || echo './'`AvailableColumnsPanel.c
  75. mv -f .deps/htop-AvailableColumnsPanel.Tpo .deps/htop-AvailableColumnsPanel.Po
  76. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-AffinityPanel.o -MD -MP -MF .deps/htop-AffinityPanel.Tpo -c -o htop-AffinityPanel.o `test -f 'AffinityPanel.c' || echo './'`AffinityPanel.c
  77. mv -f .deps/htop-AffinityPanel.Tpo .deps/htop-AffinityPanel.Po
  78. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-HostnameMeter.o -MD -MP -MF .deps/htop-HostnameMeter.Tpo -c -o htop-HostnameMeter.o `test -f 'HostnameMeter.c' || echo './'`HostnameMeter.c
  79. mv -f .deps/htop-HostnameMeter.Tpo .deps/htop-HostnameMeter.Po
  80. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-OpenFilesScreen.o -MD -MP -MF .deps/htop-OpenFilesScreen.Tpo -c -o htop-OpenFilesScreen.o `test -f 'OpenFilesScreen.c' || echo './'`OpenFilesScreen.c
  81. mv -f .deps/htop-OpenFilesScreen.Tpo .deps/htop-OpenFilesScreen.Po
  82. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Affinity.o -MD -MP -MF .deps/htop-Affinity.Tpo -c -o htop-Affinity.o `test -f 'Affinity.c' || echo './'`Affinity.c
  83. mv -f .deps/htop-Affinity.Tpo .deps/htop-Affinity.Po
  84. gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-IOPriority.o -MD -MP -MF .deps/htop-IOPriority.Tpo -c -o htop-IOPriority.o `test -f 'IOPriority.c' || echo './'`IOPriority.c
  85. mv -f .deps/htop-IOPriority.Tpo .deps/htop-IOPriority.Po
  86. /bin/sh ./libtool --tag=CC --mode=link gcc -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -o htop htop-AvailableMetersPanel.o htop-CategoriesPanel.o htop-CheckItem.o htop-ClockMeter.o htop-ColorsPanel.o htop-ColumnsPanel.o htop-CPUMeter.o htop-CRT.o htop-DisplayOptionsPanel.o htop-FunctionBar.o htop-Hashtable.o htop-Header.o htop-htop.o htop-ListItem.o htop-LoadAverageMeter.o htop-MemoryMeter.o htop-Meter.o htop-MetersPanel.o htop-Object.o htop-Panel.o htop-BatteryMeter.o htop-Process.o htop-ProcessList.o htop-RichString.o htop-ScreenManager.o htop-Settings.o htop-IOPriorityPanel.o htop-SignalsPanel.o htop-String.o htop-SwapMeter.o htop-TasksMeter.o htop-TraceScreen.o htop-UptimeMeter.o htop-UsersTable.o htop-Vector.o htop-AvailableColumnsPanel.o htop-AffinityPanel.o htop-HostnameMeter.o htop-OpenFilesScreen.o htop-Affinity.o htop-IOPriority.o -lncursesw -lm
  87. libtool: link: gcc -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -o htop htop-AvailableMetersPanel.o htop-CategoriesPanel.o htop-CheckItem.o htop-ClockMeter.o htop-ColorsPanel.o htop-ColumnsPanel.o htop-CPUMeter.o htop-CRT.o htop-DisplayOptionsPanel.o htop-FunctionBar.o htop-Hashtable.o htop-Header.o htop-htop.o htop-ListItem.o htop-LoadAverageMeter.o htop-MemoryMeter.o htop-Meter.o htop-MetersPanel.o htop-Object.o htop-Panel.o htop-BatteryMeter.o htop-Process.o htop-ProcessList.o htop-RichString.o htop-ScreenManager.o htop-Settings.o htop-IOPriorityPanel.o htop-SignalsPanel.o htop-String.o htop-SwapMeter.o htop-TasksMeter.o htop-TraceScreen.o htop-UptimeMeter.o htop-UsersTable.o htop-Vector.o htop-AvailableColumnsPanel.o htop-AffinityPanel.o htop-HostnameMeter.o htop-OpenFilesScreen.o htop-Affinity.o htop-IOPriority.o -lncursesw -lm
  88. make[]: Leaving directory `/htop-1.0.'
  89. [root@CactiEZ htop-1.0.]#

make

安装完成。

2.htop参数

键入htop 命令,打开htop。

左边部分从上至下,分别为,cpu、内存、交换分区的使用情况,右边部分为:Tasks为进程总数,当前运行的进程数、Load average为系统1分钟,5分钟,10分钟的平均负载情况、Uptime为系统运行的时间。

,就是进程实时状况。

  • PID:进行的标识号
  • USER:运行此进程的用户
  • PRI:进程的优先级
  • NI:进程的优先级别值,默认的为0,可以进行调整
  • VIRT:进程占用的虚拟内存值
  • RES:进程占用的物理内存值
  • SHR:进程占用的共享内存值
  • S:进程的运行状况,R表示正在运行、S表示休眠,等待唤醒、Z表示僵死状态
  • %CPU:该进程占用的CPU使用率
  • %MEM:该进程占用的物理内存和总内存的百分比
  • TIME+:该进程启动后占用的总的CPU时间
  • COMMAND:进程启动的启动命令名称

下面是 F1~F10 的功能和对应的字母快捷键。

Shortcut Key Function Key Description 中文说明
h, ? F1 Invoke htop Help 查看htop使用说明
S F2 Htop Setup Menu htop 设定
/ F3 Search for a Process 搜索进程
\ F4 Incremental process filtering 增量进程过滤器
t F5 Tree View 显示树形结构
<, > F6 Sort by a column 选择排序方式
[ F7 Nice - (change priority) 可减少nice值,这样就可以提高对应进程的优先级
] F8 Nice + (change priority) 可增加nice值,这样就可以降低对应进程的优先级
k F9 Kill a Process 可对进程传递信号
q F10 Quit htop 结束htop

以下命令行选项(COMMAND-LINE OPTIONS)

  • -C --no-color        使用一个单色的配色方案
  • -d --delay=DELAY     设置延迟更新时间,单位秒
  • -h --help           显示htop 命令帮助信息
  • -u --user=USERNAME    只显示一个给定的用户的过程
  • -p --pid=PID,PID…       只显示给定的PIDs
  • -s --sort-key COLUMN     依此列来排序
  • -v –version          显示版本信息

以下交互式命令(INTERACTIVE COMMANDS)

  • 上下键或PgUP, PgDn 选定想要的进程,左右键或Home, End 移动字段,当然也可以直接用鼠标选定进程;
  • Space    标记/取消标记一个进程。命令可以作用于多个进程,例如 "kill",将应用于所有已标记的进程
  • U    取消标记所有进程
  • s    选择某一进程,按s:用strace追踪进程的系统调用
  • l    显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件
  • I    倒转排序顺序,如果排序是正序的,则反转成倒序的,反之亦然
  • +, -    When in tree view mode, expand or collapse subtree. When a subtree is collapsed a "+" sign shows to the left of the process name.
  • a (在有多处理器的机器上)    设置 CPU affinity: 标记一个进程允许使用哪些CPU
  • u    显示特定用户进程
  •    按Memory 使用排序
  • P    按CPU 使用排序
  •    按Time+ 使用排序
  • F    跟踪进程: 如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能。
  • K    显示/隐藏内核线程
  •    显示/隐藏用户线程
  • Ctrl-L    刷新
  • Numbers    PID 查找: 输入PID,光标将移动到相应的进程上

3.htop使用

3.1. 显示自带帮助

鼠标点击Help或者按F1 显示自带帮助

3.2. htop 设定

鼠标点击Setup或者按下F2 之后进入htop 设定的页面,Meters 页面设定了顶端的一些信息显示,顶端的显示又分为左右两侧,到底能显示些什么可以在最右侧那栏新增,要新增到上方左侧(F5)或是右侧(F6)都可以,这就是个人设定的范围了。这里多加了一个时钟。

......

架构师成长之路1.1-系统监控工具htop的更多相关文章

  1. 架构师成长之路1.2-多功能系统信息统计工具dstat

    点击返回架构师成长之路 架构师成长之路1.2-多功能系统信息统计工具dstat dstat命令是一个用来替换vmstat.iostat.netstat.nfsstat和ifstat这些命令的工具,是一 ...

  2. 架构师成长之路6.6 DNS服务器搭建(构建企业级DNS)

    点击返回架构师成长之路 架构师成长之路6.6 DNS服务器搭建(构建企业级DNS) 采用LVS-DR模式负载均衡,多IDC,多套DNS集群,通过master-slave技术保证dns配置的一致性. 1 ...

  3. 架构师成长之路2.4-Kickstart文件剖析

    点击返回架构师成长之路 架构师成长之路2.4-Kickstart文件剖析 kickstart文件是一个简单的文本文件,它包含了一个项目列表,每个项目由一个关键字来识别. 创建kickstart文件注意 ...

  4. 架构师成长之路3.1-Cobber原理及部署

    点击返回架构师成长之路 架构师成长之路3.1-Cobber原理及部署 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理 ...

  5. 架构师成长之路2.3-PXE+Kickstart无人值守大量部署Linux

    点击返回架构师成长之路 架构师成长之路2.3-PXE+Kickstart无人值守大量部署Linux 所谓的无人值守,就是自动应答,当安装过程中需要人机交互提供某些选项的答案时(如如何分区),自动应答文 ...

  6. 架构师成长之路2.2-PXE+Kickstart安装部署

    点击返回架构师成长之路 架构师成长之路2.2-PXE+Kickstart安装部署 系统测试环境: 实验环境:VMware Workstation 12 系统平台:CentOS Linux releas ...

  7. 架构师成长之路2.1-PXE+Kickstart原理

    点击返回架构师成长之路 架构师成长之路2.1-PXE+Kickstart原理 PXE+Kickstart 主要用于在公司内网批量安装新服务器系统,这极大地简化了用光盘重复安装Linux操作系统的过程, ...

  8. 架构师成长之路5.2-Saltstack远程执行

    点击架构师成长之路 架构师成长之路5.2-Saltstack远程执行 配置管理工具: Pupper:1. 采用ruby编程语言:2. 安装环境相对较复杂:3.不支持远程执行,需要FUNC工具配置才可以 ...

  9. 架构师成长之路5.7-Saltstack数据系统

    点击架构师成长之路 架构师成长之路5.7-Saltstack数据系统 1. Saltstack的两种数据系统 Grains Pollars 2. Saltstack数据系统---Grains Grai ...

随机推荐

  1. 电信3G上网卡自己主动重拨

    须要使用电信3G无线上网卡做一个測试,由于要长时间使用,在使用的过程中老掉线,所以做了一个自己主动重连的批处理,好了,闲话少叙,开工: 先建立一个拨号连接: 001.png watermark/2/t ...

  2. 利用IDA6.6进行apk dex代码动态调试

    网上公开IDA6.6已经有一段时间,这个版本有个好处就是可以动态调试java代码.正好现在需要动态调试,所以顺便练习一下. 根据android的官方文档,如果要调试一个apk里面的dex代码,必须满足 ...

  3. c# 多线程和异步

    有时候需要多线程来运行处理后端和UI的更新. 通常用 ((Action)delegate() { if (isBussy) { return; } isBussy = true; while (tru ...

  4. MySQL优化:explain using temporary

    什么时候会使用临时表:group/order没设计好的时候 1.order没用索引 2.order用了索引, 但不是和where相同的索引 3.order用了两个索引, 但不是联合索引 4.order ...

  5. POJ 2965&&1753

    最近由于复习备考(然而考得还是很炸),很久没打题目了.现在开始刷寒假作业,不得不搞POJ 话说没有中文真的好烦啊! 先看1753 题目大意是说在一个4*4的格子中有黑白两色的棋子,你可以翻动其中的棋子 ...

  6. libgdx自制简易Flappy Bird

    Flappy Bird,好吧,无需多说.今天年初不知咋的,一下子就火了,而且直接跃居榜首,在ios和android平台都是如此,实在难以理解.传说其作者每天收入能达到5w刀,着实碉堡了... 好吧,咱 ...

  7. centos 7:network: 正在打开接口 ens33: 错误:激活连接失败:No suitable device found for this connection.

    Mar :: localhost systemd: Starting LSB: Bring up/down networking... Mar :: localhost network: 正在打开环回 ...

  8. 调试OV2735总结

    调试找到的问题: 1:开始调试的时候因为之前的工程师原理图和BOM出错,导致本来是2.8V电压的焊接的是1.8V的LDO所以这个是第一个问题 2:因为FAE反应说sensor没有反应I2C没有通信,所 ...

  9. 《杜增强讲Unity之Tanks坦克大战》9-发射子弹时蓄力

    9 发射子弹时蓄力 实现效果如下   image 按下开火键(坦克1为空格键)重置力为最小力,一直按着的时候蓄力,抬起的时候发射.如果按着的时候蓄力到最大,则自动发射,此时在抬起则不会重复发射. 首先 ...

  10. thinkphp在wamp 配置去掉url中index.php方法

    http://blog.csdn.net/youmypig/article/details/45008971