时间:2017-08-17来源:系统城装机大师作者:zhijie
系统调试
对于 Web 调试,curl 和 curl -I 很方便灵活,或者也可以使用它们的同行 wget,或者更现代的 httpie。
要了解磁盘、CPU、网络的状态,使用 iostat,netstat,top(或更好的 htop)和(特别是)dstat。它们对于快速获知系统中发生的状况很好用。
对于更深层次的系统总览,可以使用 glances。它会在一个终端窗口中为你呈现几个系统层次的统计数据,对于快速检查各个子系统很有帮助。
要了解内存状态,可以运行 free 和 vmstat,看懂它们的输出结果吧。特别是,要知道“cached”值是Linux内核为文件缓存所占有的内存,因此,要有效地统计“free”值。
Java 系统调试是一件截然不同的事,但是对于 Oracle 系统以及其它一些 JVM 而言,不过是一个简单的小把戏,你可以运行 kill -3 《pid》,然后一个完整的堆栈追踪和内存堆的摘要(包括常规的垃圾收集细节,这很有用)将被转储到stderr/logs。
使用 mtr 作路由追踪更好,可以识别网络问题。
对于查看磁盘满载的原因,ncdu 会比常规命令如 du -sh * 更节省时间。
要查找占用带宽的套接字和进程,试试 iftop 或 nethogs 吧。
(Apache附带的)ab工具对于临时应急检查网络服务器性能很有帮助。对于更复杂的负载测试,可以试试 siege。
对于更仔细的网络调试,可以用 wireshark,tshark 或 ngrep。
掌握 strace 和 ltrace。如果某个程序失败、挂起或崩溃,而你又不知道原因,或者如果你想要获得性能的大概信息,这些工具会很有帮助。注意,分析选项(-c)和使用 -p 关联运行进程。
掌握 ldd 来查看共享库等。
知道如何使用 gdb 来连接到一个运行着的进程并获取其堆栈追踪信息。
使用 /proc。当调试当前的问题时,它有时候出奇地有帮助。样例:/proc/cpuinfo,/proc/xxx/cwd,/proc/xxx/exe,/proc/xxx/fd/,/proc/xxx/smaps。
当调试过去某个东西为何出错时,sar 会非常有帮助。它显示了 CPU、内存、网络等的历史统计数据。
对于更深层的系统和性能分析,看看 stap (SystemTap),perf) 和 sysdig 吧。
确认是正在使用的 Linux 发行版版本(支持大多数发行版):lsb_release -a。
每当某个东西的行为异常时(可能是硬件或者驱动器问题),使用dmesg。
2024-07-18
Centos 7 二进制安装配置 MariaDB数据库2024-07-18
Centos7默认firewalld防火墙使用命令大全2024-07-07
四种执行python系统命令的方法常用权限linux系统内有档案有三种身份 u:拥有者 g:群组 o:其他人这些身份对于文档常用的有下面权限:r:读权限,用户可以读取文档的内容,如用cat,more查看w:写权限,用户可以编辑文档x...
2024-07-07
然而,如果我们遵循通常的 WordPress 最佳实践,这些安全问题可以避免。在本篇中,我们会向你展示如何使用 WPSeku,一个 Linux 中的 WordPress 漏洞扫描器,它可以被用来找出你安装...
2024-07-03