在 Ubuntu 中,它提供了很多命令来调试和监控系统性能。以下是常用的 Ubuntu 调试和性能命令:
top:显示系统中运行的进程和占用资源的情况
top 命令可以用于实时监控进程的系统资源使用情况,比如 CPU、内存、I/O 等。它会周期性地更新屏幕上的进程列表,并将最具 CPU 使用率的进程放在最上方。
ps:查看当前进程的状态
ps 命令可以列出当前正在运行的进程。它可以显示进程的 PID、PPID、优先级、运行时间、CPU 占用率等信息。
free:查看内存的使用情况
free 命令可以显示系统的内存使用情况,包括总内存量、已使用内存量、空闲内存量等。它还可以显示缓存和交换空间的使用情况。
df:查看磁盘空间的使用情况
df 命令可以显示文件系统的磁盘空间使用情况。它可以显示每个文件系统的总空间、已使用空间、剩余空间等信息。
du:查看文件或目录的大小
du 命令可以用于查看文件或目录的大小。它会递归地遍历目录树,并计算每个文件和目录的大小。
vmstat:查看系统虚拟内存情况
vmstat 命令可以显示系统的虚拟内存使用情况,包括进程数量、内存使用、交换空间使用等。
iostat:查看磁盘 I/O 的情况
iostat 命令可以显示磁盘的输入/输出操作情况。它可以显示磁盘的读写速度、传输延迟、I/O 请求队列长度等信息。
sar:System Activity Reporter,查看系统各项资源的使用情况
sar 命令可以用于周期性地记录系统的各种参数,如 CPU 使用率、内存使用率、硬盘使用率、网络流量等。
strace:跟踪进程的系统调用和信号
strace 命令可以用于跟踪进程的系统调用和信号。它会记录进程对系统的系统调用和发送的信号,以及系统返回的结果。
tcpdump:抓取网络数据包
tcpdump 命令可以用于抓取网络数据包。它可以用于捕捉网络流量,排除网络问题,检查安全漏洞等。
ntop:实时监控网络流量
ntop 命令可以用于实时监控网络流量。它可以显示网络的带宽使用情况、流量来源和目的地等信息。
netstat:显示网络连接状态
netstat 命令可以显示当前的网络连接状态。它可以列出 TCP、UDP 和 UNIX 套接字连接,以及正在侦听的端口。
iftop:实时显示网络带宽流量
iftop 命令可以实时显示网络带宽流量。它可以按流量大小排序,并分别显示每个连接的流量信息。
ping:测试网络连通性
ping 命令可以用于测试网络连接是否正常。它会向指定的 IP 地址或域名发送 ICMP 数据包,并显示其收到的响应情况。
traceroute:追踪网络路径
traceroute 命令可以用于追踪网络路径。它会显示从本地主机到特定目标主机所经过的路由器列表。
dig:查询 DNS 服务器的信息
dig 命令可以用于查询 DNS 服务器的信息。它可以用来查找域名解析器、输出 DNS 应答消息、在 DNS 树上跟踪查询等等。
nslookup:查询 DNS 解析结果
nslookup 命令可以用于查询 DNS 解析结果。它可以根据域名获取 IP 地址,或根据 IP 地址获取域名。
arp:显示和修改 ARP 缓存表
arp 命令可以用于显示和修改 ARP 缓存表。它可以帮助用户查找 MAC 地址与 IP 地址之间的对应关系。
ip:显示和修改网络配置参数
ip 命令可以用于显示和修改网络配置参数。它可以设置或修改网络接口、IP 地址、路由、DNS 服务器等信息。
route:显示和修改路由表
route 命令可以用于显示和修改路由表。它可以查看当前系统的路由表,并添加或删除路由表项。
sysctl:查看和修改内核参数
sysctl 命令可以用于查看和修改内核参数。它可以列出和设置内核参数,如网络连接数、文件句柄数等。
uptime:查看系统运行时间和负载情况
uptime 命令可以用于查看系统的运行时间和负载情况。它可以显示当前系统的平均负载、活跃进程数、总进程数等信息。
dmesg:查看系统启动信息和内核日志
dmesg 命令可以用于查看系统启动信息和内核日志。它可以输出内核在启动期间发出的消息,以及系统中发生的错误和警告。
lsof:查看系统打开的文件和网络连接
lsof 命令可以用于查看系统打开的文件和网络连接。它可以列出打开的文件、套接字、管道等对象,并显示它们的状态信息。
htop:类似于 top,但更加方便和直观
htop 命令可以使用类似于 top 的方式显示进程和系统资源的使用情况。但是它提供了更多的选项和更直观的界面。
pidstat:统计和显示进程的 CPU、内存、I/O 和上下文切换情况
pidstat 命令可以用于统计和显示进程的 CPU、内存、I/O 和上下文切换情况。它可以按进程进行分组,并列出每个进程的详细信息。
mpstat:统计并显示 CPU 的使用情况
mpstat 命令可以用于统计并显示 CPU 的使用情况。它可以列出每个 CPU 核心的使用情况,并提供运行时间、空闲时间等信息。
iotop:监控 I/O 活动并显示哪个进程占用了磁盘带宽
iotop 命令可以监控磁盘 I/O 活动并显示哪个进程占用了磁盘带宽。它可以按 I/O 操作进行排序,并显示每个进程的详细信息。
sar -n TCP:查看 TCP 网络流量情况
sar -n TCP 命令可以用于查看 TCP 网络流量情况。它可以显示每秒钟所发生的数据包数、数据包大小、连接数等信息。
sar -n DEV:查看网络接口的数据流量情况
sar -n DEV 命令可以用于查看网络接口的数据流量情况。它可以显示每秒钟接收和发送的字节数、数据包数量、错误数量等信息。