当前位置: 首页 > 编程日记 > 正文

11 款可替代 top 命令的工具!

7f7a0c7cad3972832bccd7d113de65d7.gif

作者 | JackTian

来源 | 杰哥的IT之旅

在 Linux 环境下 top 命令都不陌生,它以实时动态的方式查看系统的整体运行情况,综合了多方信息监测系统性能和运行信息的实用工具,通过 top 命令所提供的互动式界面,可以用热键来进行管理。

在介绍本篇 top 命令的替代工具时,我们先来回顾下 top 的基本语法、常用选项、交互时的热键以及实例解释,从而加深对 top 的理解,同时也希望能进一步的运用在实际场景中。

一、top

1.1 top 语法

top(选项)

1.2 top 选项

  • -b:以批处理模式操作;

  • -c:显示完整的治命令;

  • -d:屏幕刷新间隔时间;

  • -I:忽略失效过程;

  • -s:保密模式;

  • -S:累积模式;

  • -i<时间>:设置间隔时间;

  • -u<用户名>:指定用户名;

  • -p<进程号>:指定进程;

  • -n<次数>:循环显示的次数;

1.3 top 交互时的热键

  • h:显示帮助信息并给出简短的命令总结说明提示;

  • k:终止一个进程;

  • i:忽略闲置和僵死的进程;

  • q:退出 top;

  • r:重新安排一个进程的优先级别;

  • S:切换到累计模式;

  • s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值为:5s;

  • f 或者 F:从当前显示中添加或者删除;

  • o 或者 O:改变显示的顺序;

  • l:切换显示平均负载和启动时间信息;

  • m:切换显示内存信息;

  • t:切换显示进程和 CPU 状态信息;

  • c:切换显示命令名称和完整命令行;

  • M:根据驻留内存大小进行排序;

  • P:根据 CPU 使用百分比大小进行排序;

  • T:根据时间或累计时间进行排序;

  • w:将当前设置写入 ~/.toprc 文件中;

top - 09:48:47 up 1 day, 10:54,  2 users,  load average: 0.00, 0.02, 0.00
任务: 293 total,   2 running, 291 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1945.1 total,    160.5 free,    849.7 used,    934.9 buff/cache
MiB Swap:    923.2 total,    921.4 free,      1.8 used.    904.4 avail MemPID USER      PR  NI    VIRT    RES    SHR    %CPU  %MEM     TIME+ COMMAND
6775 root      20   0   21752   4280   3424 R   0.3   0.2   0:05.58 top

1.4 top 实例解释

第一行:任务队列信息

  • top - 09:48:47:显示当前系统时间

  • 1 day:系统已经运行了 1 天

  • 2 users:2 个用户当前登录

  • load average: 0.00, 0.02, 0.00:系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

第二行:进程信息

  • Tasks: 293 total:总进程数

  • 2 running:正在运行的进程数

  • 291 sleeping:睡眠的进程数

  • 0 stopped:停止的进程数

  • 0 zombie:僵尸进程数

第三行:CPU 信息

  • %Cpu(s):  0.0 us:用户空间占用 CPU 的百分比

  • 0.2 sy:内核空间占用 CPU 的百分比

  • 0.0 ni:用户进程空间内改变过优先级的进程占用 CPU 的百分比

  • 99.8 id:空闲 CPU 的百分比

  • 0.0 wa:等待输入输出 CPU 的时间百分比

  • 0.0 hi:硬中断占用 CPU 的百分比

  • 0.0 si:软中断占用 CPU 的百分比

  • 0.0 st:用于有虚拟 CPU 的情况,用来指示被虚拟机偷掉的 CPU 时间

第四 / 五行:内存信息

  • MiB Mem :   1945.1 total:物理内存总量

  • 160.5 free:空闲内存总量

  • 849.7 used:使用的物理内存总量

  • 934.9 buff/cache:用于内核缓存的内存量

  • MiB Swap:    923.2 total:交换区总量

  • 921.4 free:空闲交换区总量

  • 1.8 used:使用的交换区总量

  • 904.4 avail Mem:可用于进程下一次分配的物理内存数量

第六行:进程详细信息

  • PID:进程 PID 号

  • USER:用户

  • PR:优先级

  • NI:nice值,负值表示高优先级,正值表示低优先级

  • VIRT:进程使用的虚拟内存总量,单位为 KB

  • RES:进程使用的、未被换出的物理内存大小,单位为 KB

  • SHR:共享内存大小,单位为 KB

  • %CPU:上次更新到现在的CPU时间占用百分比

  • %MEM:进程使用的物理内存百分比

  • TIME+:进程使用的 CPU 时间总计,单位 1/100秒

  • COMMAND:命令名 / 命令行

以上就是针对 top 命令的回顾。当然了,进程详细信息里还有很多信息,就不一一介绍了,在日常学习和工作中有需要用到的解释说明,可参阅相关资料进行了解。

不过 top 已经满足我们在学习以及工作中排查相关问题的基本条件了。接下来,给大家介绍一些针对 top 命令的替代工具,也许做了对比后,你会更喜欢这些替代工具。

二、bashtop

bashtop[1]基于 Shell 语言编写,是用于展示当前 Linux 操作系统的处理器、内存、硬盘、网络和进程等各项资源的使用情况与状态,可在 Fedora、CentOS 8、RHEL 8、Ubuntu、Debian、FreeBSD、OSX 等多种操作系统中安装。

2.1 bashtop 的特征

  • 易使用,具有游戏灵感的菜单系统;

  • 快速且“大部分”响应式 UI,带有 UP、DOWN 键进程选择;

  • 显示所选进程的详细统计信息的功能;

  • 显示当前磁盘的读写速度;

  • 过滤流程的能力;

  • 在排序选项之间轻松切换;

  • 向选定的进程发送 SIGTERM、SIGKILL、SIGINT;

  • 可更改所有配置文件选项的 UI 菜单;

  • 网络使用情况的自动缩放图;

  • 如有新版本可用,则在菜单中进行显示;

  • Linux 环境下可切换的多种数据采集方式;

2.2 bashtop 的安装

CentOS 8 安装:

# dnf config-manager --set-enabled PowerTools 
# dnf install epel-release 
# dnf install bashtop

RHEL 8 安装:

ARCH= $( /bin/arch ) 
subscription-manager repos --enable " codeready-builder-for-rhel-8- ${ARCH} -rpms " 
dnf install epel-release 
dnf install bashtop

Ubuntu 安装:

# sudo add-apt-repository ppa:bashtop-monitor/bashtop 
# sudo apt update 
# sudo apt install bashtop

安装非常简单,我用的是 Ubuntu,所以用 apt install 直接安装即可,如果你用的是其他操作系统,可参考:https://github.com/aristocratos/bashtop#installation 章节进行安装。

2.3 bashtop 的使用

安装完毕后,直接执行命令bashtop即可。

# bashtop
cd53c2868eadf17540c9a10581365c7f.gif

三、bpytop

bpytop[2]是 bashtop 的延续,基于 Python 语言编写,主要用于展示当前 Linux 操作系统的处理器、内存、磁盘、网络和进程的使用情况和统计信息的资源监视器,可在 Mac OSX、Arch Linux、Debian、FreeBSD、Fedora、CentOS 8、Ubuntu 等多种操作系统中安装。

3.1 bpytop 的特征

  • 易使用且具有游戏灵感的菜单系统;

  • 完全支持鼠标,所有带有突出显示键的按钮都是可点击的,并且鼠标滚动可以在进程列表和菜单框中工作;

  • 快速且响应迅速的 UI,带有 UP、DOWN 键进程选择;

  • 显示所选进程的详细统计信息的功能;

  • 能够过滤进程,可以输入多个过滤器;

  • 在排序选项之间轻松切换;

  • 向选定的进程发送 SIGTERM、SIGKILL、SIGINT;

  • 用于更改所有配置文件选项的 UI 菜单;

  • 网络使用情况的自动缩放图;

  • 如有新版本可用,则在菜单中显示消息;

  • 显示当前磁盘的读写速度;

3.2 bpytop 的安装

Mac OSX 安装:

# brew install bpytop

Fedora / CentOS 8 安装:

# sudo dnf install bpytop

Debian / Ubuntu 安装:

# sudo apt install bpytop

安装非常简单,我用的是 Ubuntu,所以用 apt install 直接安装即可,如果你用的是其他操作系统,可参考:https://github.com/aristocratos/bpytop#installation 章节进行安装。

3.3 bpytop 的使用

安装完毕后,直接执行命令bpytop即可。

$ bpytop
e138c2332c8d8833d51cf5eacfcf7ef0.gif

更多 bpytop 命令行选项

usage: bpytop [-h] [-b BOXES] [-lc] [-v] [--debug]optional arguments:-h, --help            show this help message and exit-b BOXES, --boxes BOXESwhich boxes to show at start, example: -b "cpu mem net proc"-lc, --low-color      disable truecolor, converts 24-bit colors to 256-color-v, --version         show version info and exit--debug               start with loglevel set to DEBUG overriding value set in config

四、btop

btop[3]基于 C++ 语言编写,主要用于展示当前 Linux 操作系统的处理器、内存、磁盘、网络和进程的使用情况和统计信息的资源监视器。

4.1 btop 的特征

  • 易使用,具有游戏灵感的菜单系统;

  • 支持鼠标所有带有突出显示键的按钮都是可点击的,并且鼠标滚动在进程列表和菜单框中工作;

  • 快速且响应迅速的 UI,带有 UP、DOWN 键进程选择;

  • 显示所选进程的详细统计信息的功能;

  • 过滤流程的能力;

  • 在排序选项之间轻松切换;

  • 进程的树视图;

  • 向选定的进程发送任何信号;

  • 用于更改所有配置文件选项的 UI 菜单;

  • 网络使用情况的自动缩放图;

  • 显示磁盘的 IO 活动和速度;

  • 电池电量计;

  • 图表的可选符号;

4.2 btop 的安装

# snap install btop

安装非常简单,我用的是 Ubuntu,所以用 snap  install 直接安装即可,如果你用的是其他操作系统或通过其他方式进行安装,可参考:https://github.com/aristocratos/btop#installation 章节进行安装。

4.3 btop 的使用

安装完毕后,直接执行命令btop即可。

# btop

dfb9c34bd5710053d487fd57e8350a7e.png

更多 bpytop 命令行选项

usage: btop [-h] [-v] [-/+t] [-p <id>] [--utf-force] [--debug]optional arguments:-h, --help            show this help message and exit-v, --version         show version info and exit-lc, --low-color      disable truecolor, converts 24-bit colors to 256-color-t, --tty_on          force (ON) tty mode, max 16 colors and tty friendly graph symbols+t, --tty_off         force (OFF) tty mode-p, --preset <id>     start with preset, integer value between 0-9--utf-force           force start even if no UTF-8 locale was detected--debug               start in DEBUG mode: shows microsecond timer for information collectand screen draw functions and sets loglevel to DEBUG

以上三款开源 top 替代工具可以说是 Jakob P. Liljenberg 的三剑客。

五、bottom

bottom[4]是用于终端的可定制跨平台图形进程 / 系统监视器,支持 Linux、macOS 和 Windows。

5.1 bottom 的特征

  • 随着时间变化的 CPU 使用率、平均水平和每个核心水平;

  • 随着时间变化的 RAM 和交换使用情况;

  • 一段时间内的网络 I/O 使用情况;

  • 支持放大或缩小显示的当前时间间隔;

  • 支持显示磁盘容量、使用情况、温度传感器、电池使用情况的信息;

  • 支持显示、排序、搜索有关流程信息的小部件(CPU、内存、网络、进程、磁盘、温度、电池);

  • 支持使用命令行标志或配置文件控制的可定制行为(自定义和预建的颜色主题、更改某些小部件的默认行为、更改小部件的布局、过滤掉磁盘和温度小部件中的条目);

  • 支持键、鼠标绑定相关快捷键;

5.2 bottom 的安装

可以在 Arch Linux、Debian/Ubuntu、Fedora/CentOS 多种平台或以多种方式都可进行安装。

# curl -LO https://github.com/ClementTsang/bottom/releases/download/0.6.6/bottom_0.6.6_amd64.deb 
# sudo dpkg -i bottom_0.6.6_amd64.deb

5.3 bottom 的使用

安装完毕后,执行命令btm即可

# btm

f0194a5066fbd0d7fd24d1f6ecfa443c.png

六、glances

Glances[5]是基于 Python 语言编写的一款跨平台的监控工具,旨在通过 curses 或基于 Web 的界面呈现大量系统监控信息,该信息可根据用户界面的大小动态调整,是 GNU/Linux、BSD、Mac OS 和 Windows 操作系统的 top/htop 替代品。

它可以在客户端/服务器模式下工作,远程监控可以通过终端、Web 界面或 API(XML-RPC 和 RESTful)完成,统计数据也可以导出到文件或外部时间/值数据库。

除了列出所有进程及其 CPU 和内存使用情况之外,它还可以显示有关系统的其他信息,比如:

  • 网络及磁盘使用情况

  • 文件系统已使用的空间和总空间

  • 来自不同传感器(例如电池)的数据

  • 以及最近消耗过多资源的进程列表

6.1 glances 的安装

# apt install glances

6.2 glances 的使用

独立模式只需执行:

# glances

126ca768a005a2f459c481896e9ce0ba.png

Web 服务器模式可执行:

# glances -w

使用 Web 界面监控本地机器并启动 RESTful 服务器,从http://0.0.0.0:61208/开始浏览 Web 服务器。

客户端 / 服务器模式可执行:

# glances -s

在服务器端并运行:

# glances -c <ip_server>

更多 glances 使用、可选参数选项以及使用案例可执行:glances -h查看相关帮助信息。

七、gotop

gotop[6]是基于 Go 语言编写,是一个基于终端的图形活动监视器,可在 Linux、FreeBSD 和 macOS 上运行。

7.1 gotop 的安装

# snap install gotop

7.2 gotop 的使用

安装完毕后,执行命令gotop即可,更多热键可参考 GitHub 存储库的用法部分。

fa440d4da04b46e5719854ab59a75a30.png

八、gtop

gtop[7]是基于 JavaScript 语言编写的一款终端系统监控仪表板。

8.1 gtop 的安装

# apt install npm
# npm install gtop -g

8.2 gtop 的使用

安装完毕后,执行命令gtop即可,要停止 gtop 可使用q键或者Ctrl+c

# gtop

f70af0258979380f229e0828c104ccfc.png

九、htop

htop[8]可以说是 top 的绝佳替代品,它是用 C 写的,是一个跨平台的交互式的进程监控工具,具有更好的视觉效果,一目了然更容易理解当前系统的状况,允许垂直和水平滚动进程列表以查看它们的完整命令行和相关信息,如内存和 CPU 消耗。还显示了系统范围的信息,例如平均负载或交换使用情况。

显示的信息可通过图形设置进行配置,并且可以交互排序和过滤,与进程相关的任务(例如终止和重新处理)可以在不输入其 PID 的情况下进行完成。

安装也很简单,只需执行命令:apt install htop即可完成。

6eb7f1a1234eec6a7192a76ad0a377b9.png

十、nvtop

Nvtop[9]:NVidia TOP,一个用于 NVIDIA GPU 的 (h)top 类似任务监视器,它可以处理多个 GPU 并以 htop 熟悉的方式打印有关它们的信息。

Ubuntu disco (19.04) / Debian buster (stable)

# sudo apt install nvtop

11343d7cd0040b4e26ccd5c837d25cf9.png

更多 nvtop 命令行选项

# nvtop -h
nvtop version 1.1.0
Available options:-d --delay        : Select the refresh rate (1 == 0.1s)-v --version      : Print the version and exit-s --gpu-select   : Colon separated list of GPU IDs to monitor-i --gpu-ignore   : Colon separated list of GPU IDs to ignore-p --no-plot      : Disable bar plot-r --reverse-abs  : Reverse abscissa: plot the recent data left and older on the right-C --no-color     : No colors-N --no-cache     : Always query the system for user names and command line information-f --freedom-unit : Use fahrenheit-E --encode-hide  : Set encode/decode auto hide time in seconds (default 30s, negative = always on screen)-h --help         : Print help and exit

十一、vtop

vtop[10]是一款命令行的图形活动监视器,它是使用 drawille 绘制带有 Unicode 盲文字符的 CPU 和内存图表,通过可视化的方式进行展示,还将具有相同名称的进程分组在一起,安装也很简单,只需执行命令npm install -g vtop即可完成。

运行只需执行命令vtop即可。

dab09667e7d99031d50fd6fa71f57165.png

  • dd:杀死该组中的所有进程

  • 按向下箭头或j键向下移动

  • 按向上箭头或k键向上移动进程列表

  • g键转到进程列表的顶部

  • G键移动到列表的末尾

  • c键可按 CPU 进行排序

  • m键可按内存进行排序

十二、zenith

zenith[11]是基于 Rust 语言编写的一款具有可缩放的图表、CPU、GPU、网络和磁盘使用的终端图形。

12.1 zenith 的特征

  • 可选的 CPU、内存、网络和磁盘使用情况图表

  • 支持浏览磁盘可用空间、NIC IP 地址、CPU 频率

  • 支持显示 CPU、内存和磁盘的用户

  • 电池百分比、充电或放电时间、已用电量

  • 类似于 top 的可过滤进程表,包括每个进程的磁盘使用情况

  • 更改流程优先级

  • 可缩放图表视图(支持及时回滚)

  • 使用信号管理流程

  • 运行之间保存的性能数据

  • NVIDIA GPU 的 GPU 利用率指标(带有--features nvidia),包括每个进程的 GPU 使用率

  • 磁盘可用空间图表

12.2 zenith 的安装

zenith 我是通过 deb 软件包安装的,不过最新的 64 位 deb 软件包需要基于 Debian >= 9 或 Ubuntu >= 16.04 的发行版才可安装。

# curl -LO https://github.com/bvaisvil/zenith/releases/download/0.12.0/zenith_0.12.0-1_amd64.deb
# dpkg -i zenith_0.12.0-1_amd64.deb

12.3 zenith 的使用

安装 zenith 完毕后,不带任何参数运行 zenith 将以 CPU、磁盘和网络的默认可视化和 2000 毫秒(2 秒)的刷新率启动。

# zenith

f27ce6306d5876d8dd1c49d93fe2ca61.png

更多 zenith 命令行选项

Usage: zenith [OPTIONS]Optional arguments:--disable-history          Disables history when flag is present (default: false)-h, --help-V, --version-c, --cpu-height INT       Min Percent Height of CPU/Memory visualization. (default: 17)--db STRING                Database to use, if any.-d, --disk-height INT      Min Percent Height of Disk visualization. (default: 17)-n, --net-height INT       Min Percent Height of Network visualization. (default: 17)-p, --process-height INT   Min Percent Height of Process Table. (default: 32)-r, --refresh-rate INT     Refresh rate in milliseconds. (default: 2000)-g, --graphics-height INT  Min Percent Height of Graphics Card visualization. (default: 17)

References

[1] bashtop:https://github.com/aristocratos/bashtop
[2] bpytop:https://github.com/aristocratos/bpytop
[3] btop:https://github.com/aristocratos/btop
[4] bottom:https://github.com/ClementTsang/bottom
[5] glances:https://github.com/nicolargo/glances
[6] gotop:https://github.com/xxxserxxx/gotop
[7] gtop:https://github.com/aksakalli/gtop
[8] htop:https://github.com/htop-dev/htop
[9] nvtop:https://github.com/Syllo/nvtop
[10] vtop:https://github.com/MrRio/vtop
[11] zenith:https://github.com/bvaisvil/zenith

c1fb179597543bc5dae8439576537f62.gif

资讯

谷歌使出禁用2G大招

资讯

大型模型语言能够理解吗?

技术

创意十足的Python命令行工具

资讯

游戏圈地震级消息,微软收购动视暴雪

1d8576f9aec5b7621a7272a46349d6e2.png

分享

8718fa5b9bb12cb694f0ad572df3a34a.png

点收藏

4a3ee89fbe4a2d235cee104815e1c605.png

点点赞

6a48ca127b29d415ef22c73f840397ee.png

点在看

相关文章:

几个重要的RFC

RFC目录 权威无须解释 http://www.ietf.org/rfc/RFC中文目录http://man.chinaunix.net/develop/rfc/default.htm几个常用的RFC参考&#xff1a; RFC1945 超文本传输协议--HTTP/1.0 RFC2616超文本传输协议--HTTP/1.1 对 RFC2068的补充RFC3920可扩展的消息和出席信息协议 (XMPP)…

iOS开发笔记-两种单例模式的写法

iOS开发笔记&#xff0d;两种单例模式的写法 单例模式是开发中最常用的写法之一&#xff0c;iOS的单例模式有两种官方写法&#xff0c;如下&#xff1a; 不使用GCD #import "ServiceManager.h"static ServiceManager *defaultManager;implementation ServiceManager(…

流式大数据处理的三种框架:Storm,Spark和Samza

2019独角兽企业重金招聘Python工程师标准>>> 许多分布式计算系统都可以实时或接近实时地处理大数据流。本文将对三种Apache框架分别进行简单介绍&#xff0c;然后尝试快速、高度概述其异同。 Apache Storm 在Storm中&#xff0c;先要设计一个用于实时计算的图状结构…

CentOS用yum安装X Window

安装X图形界面系统yum list 列出所有可安装的软件包 可以通过 yum grouplist 来查看可能批量安装哪些列表 先装X windows #yum groupinstall X Window System -y 安装GNOME桌面环境#yum groupinstall GNOME Desktop Environment -y 安装KDE桌面环境#yum groupinstall KDE (K D…

Oracle VDI 安装

为什么80%的码农都做不了架构师&#xff1f;>>> 你可以在这里找到本文的原文。 虽然说Oracle已经停止了VDI的开发&#xff0c;之后支持服务业很快停止了。但是&#xff0c;作为经典的桌面虚拟化产品&#xff0c;还是值得研究一番。虽然Oracle VDI的文档已经写的很详…

Python 写了一个网页版的「P图软件」,惊呆了!

作者 | 小欣来源 | Python爱好者集中营今天是开工第一天&#xff0c;这篇文章可以算作是虎年的第一篇干货技术类文章了&#xff0c;今天小编用Python做了一个网页版的“P图软件”&#xff0c;大致的流程在于我们可以将上传的照片进行黑白处理、铅笔素描处理、模糊化处理等一系列…

Template mode HTML5 has not been configured

#thymeleafspring.thymeleaf.prefixclasspath:/templates/spring.thymeleaf.suffix.htmlspring.thymeleaf.cachefalsespring.thymeleaf.content-typetext/htmlspring.thymeleaf.enabledtruespring.thymeleaf.encodingUTF-8spring.thymeleaf.modeHTML5 解决办法&#xff1a;注释…

Java数据结构与算法(第四章栈和队列)

2019独角兽企业重金招聘Python工程师标准>>> 本章涉及的三种数据存储类型&#xff1a;栈、队列和优先级队列。 不同类型的结构 程序员的工具 数组是已经介绍过的数据存储结构&#xff0c;和其他结构&#xff08;链表、树等等&#xff09;一样&#xff0c;都适用于数…

可构建AI的「AI」诞生:几分之一秒内,就能预测新网络的参数

‍‍来源 | 学术头条人工智能在很大程度上是一场数字游戏。当深度神经网络在 10 年前开始超越传统算法&#xff0c;是因为我们终于有了足够的数据和处理能力来充分利用它们。今天的神经网络更依赖于数据和算力。训练网络时&#xff0c;需要仔细调整表征网络的数百万甚至数十亿参…

It is not safe to rely on the system's timezone settings

在写php程序中有时会出现这样的警告&#xff1a; PHP Warning: date(): It is not safe to rely on the systems timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those metho…

.NET MVC+ EF+LINQ 多表联查VIEW显示列表

1.VIEW 页面显示代码 <link href"~/Content/bootstrap.css" rel"stylesheet" /><div class"well"><table class"table"><tr><th>用户名</th><th>地址</th><th>订单编号</th…

从奥运订票系统说起——谈FastCGI 与IT 架构

2008年&#xff0c;对于首都人民来说&#xff0c;没有什么比奥运会更大的事情了。如何买到一张称心如意的比赛门票&#xff0c;也成了很多人的一个梦想。然而&#xff0c;在奥运官网抢票购买的时候&#xff0c;这个梦想却轻易地被网上购票系统的当机击成碎片&#xff0c;很多充…

【哲学百科】文艺复兴及唯理主义时期(公元1500~公元1750)

我为达目的&#xff0c;不择手段-尼古拉.马基雅维利要令习惯于君主统治的民众保有自由是一件多么困难的事情。马基雅维利的观点之一是君主不应受到道德标准的束缚&#xff0c;而应竭尽所能保全自身的荣耀以及所统治的城邦的胜利与繁荣&#xff0c;这种做法随后被人们归为现实主…

如何用 OpenGL 绘制雪花?

作者 | 许向武 责编 | 张红月出品 | CSDN博客看冬奥才知道&#xff0c;阿勒泰不但是中国的“雪都”&#xff0c;还是“人类滑雪起源地”。这个说法是否成立&#xff0c;姑且不论&#xff0c;阿勒泰的雪的确很漂亮。冬奥会有一个宣传片&#xff0c;就是借用一朵阿勒泰雪花…

面试之Hashtable和ConcurrentHashMap

那么要如何保证HashMap的线程安全呢&#xff1f; 方法有很多&#xff0c;比如使用Hashtable或者Collections.synchronizedMap&#xff0c;但是这两位选手都有一个共同的问题&#xff1a;性能。因为不管是读还是写操作&#xff0c;他们都会给整个集合上锁&#xff0c;导致同一时…

PHP动态编译出现Cannot find autoconf

在安装完PHP后,想动态编译PHP的memcache扩展库 cd memcache-2.2.5//usr/local/webserver/php/bin/phpize./configure --with-php-config/usr/local/webserver/php/bin/php-config 但是执行/usr/local/webserver/php/bin/phpize时出现错误:Configuring for:PHP Api Version: …

AnimeGANv2 实现动漫风格迁移,简单操作

作者 | Yunlord出品 | CSDN博客前言之前一直在研究如何将图像动漫化&#xff0c;尝试了阿里云api和百度api&#xff0c;效果都不尽如人意。结果发现了一个宝藏github项目——AnimeGANv2&#xff0c;能够将现实世界场景照片进行动漫风格化。可以看出AnimeGAN的效果非常好&#x…

C#调用win32 api程序实例

1、声明static extern 方法&#xff0c;使用DllImport特性 class MyClass{[DllImport("kernel32", SetLastError true)]public static extern int GetCurrentDirectory(int a, StringBuilder b);} 2、调用 StringBuilder sbnew StringBuilder {Length 250}; MyClas…

Python 之 pip拒绝访问

起因 在我使用pip安装第三方库的时候&#xff0c;控制台提示我升级pip版本 You are using pip version 9.0.1, however version 10.0.1 is available. You should consider upgrading via the python -m pip install --upgrade pip command. 很显然&#xff0c;需要使用这样的指…

Unix / 类 Unix shell 中有哪些很酷很冷门很少用很有用的命令?(转)

著作权归作者所有。 商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 作者&#xff1a;孙立伟 链接&#xff1a;http://www.zhihu.com/question/20140085/answer/14107336 来源&#xff1a;知乎 这个问题quora上有人提过 What are some lesser known but useful…

干货满满的 Python 实战项目,点赞收藏

作者 | 俊欣来源 | 关于数据分析与可视化今天小编来给大家介绍3个干货满满的计算机视觉方向的Python实战项目&#xff0c;主要用到的库有opencv-pythonnumpypillow要是大家所配置的环境当中没有这几个模块的话&#xff0c;就需要先用pip命令下载安装pip install opencv-python …

php安装完成以后要复制php.ini文件

直接 #find / -name "php.ini" 找不到&#xff0c;是因为安装php的时候没有复制配置文件 php版本变化以后ini文件名有变 php.ini-production对应于php.ini-recommended php.ini-development对应于php.ini-dist二者差异&#xff1f; 由于版本更新,这些文件有了新的命…

MASQUERADE --random 端口不随机

iptables -t nat -A POSTROUTING -o xxxx -j MASQUERADE --random发现源端口并不是随机的而是有规律递增&#xff0c;经过Google的搜索查找&#xff0c;发现新的版本有--random-full 这个参数iptables -t nat -A POSTROUTING -o xxxx -j MASQUERADE --random-full经过测试端口随…

PHP安装与使用VLD查看opcode代码【PHP安装第三方扩展的方法】

需要分析PHP代码的性能&#xff0c;或者说实现同样功能的代码到底哪个更好呢&#xff1f;或者说想知道底层的实现可以使用VLD查看opcode 下载与安装VLD # wget http://pecl.php.net/get/vld-0.11.2.tgz# tar zxvf vld-0.11.2.tgz# cd ./vld-0.11.2# /usr/local/php/bin/phpize …

实现数组字符串翻转的两种方法

//第一种方法&#xff1a;递归法 #include <stdio.h> int reverse_string(char * string) {if (*string ! \0){reverse_string(string1);printf("%c", *string);} } int main() {char *string "abcde";printf("源字符串为&#xff1a;%s\n&quo…

详解 Python 如何将爬取到的数据分别存储到 txt、excel、mysql 中!

作者 | 黄伟呢来源 | 数据分析与统计学之美1. 页面分析我爬取的页面是腾讯体育&#xff0c;链接如下&#xff1a;https://nba.stats.qq.com/player/list.htm观察上图&#xff1a;左边展示的分别是NBA的30支球队&#xff0c;右边就是每只球队对应球员的详细信息。此时思路就很清…

蹭了BCH热度,还来诋毁BCH,这些跳梁小丑到底在玩什么阴谋?

最近一些分叉币为了博眼球简直什么招数都用。有的某分叉币对主链暂停10天的问题闭口不提&#xff0c;靠微博撕逼来吸引关注&#xff0c;有的则自导自演了一出51%***的大戏。而奇怪的是当别人开始谈论他们这些错误的时候&#xff0c;他们却把矛头指向了火热的比特币现金。这些跳…

比 GPT-3 更擅长理解用户意图,OpenAI发布 InstructGPT

作者 | 青苹果来源 | 数据实战派近日&#xff0c;OpenAI 发布了一项令人瞩目的研究—— InstructGPT。在这项研究中&#xff0c;相比 GPT-3 而言&#xff0c;OpenAI 采用对齐研究&#xff08;alignment research&#xff09;&#xff0c;训练出更真实、更无害&#xff0c;而且更…

The C10K problem原文翻译

原文地址&#xff1a;http://www.cnblogs.com/fll/archive/2008/05/17/1201540.htmlThe C10K problem如今的web服务器需要同时处理一万个以上的客户端了&#xff0c;难道不是吗&#xff1f;毕竟如今的网络是个big place了。 现在的计算机也很强大了&#xff0c;你只需要花大概$…

mysql中模糊查询的四种用法介绍

下面介绍mysql中模糊查询的四种用法&#xff1a; 1&#xff0c;%&#xff1a;表示任意0个或多个字符。可匹配任意类型和长度的字符&#xff0c;有些情况下若是中文&#xff0c;请使用两个百分号&#xff08;%%&#xff09;表示。 比如 SELECT * FROM [user] WHERE u_name LIKE …