Java八股文4

Linux篇

1.free命令-查看内存状态

        free命令用于显示内存状态,它可以提供关于系统内存使用情况的详细信息。这个命令会显示出内存的使用情况,包括实体内存、虚拟的交换文件内存、共享内存区段,以及系统核心使用的缓冲区等。

       

其中,参数包括但不限于:

  • -b:以Byte为单位显示内存使用情况。
  • -k:以KB为单位显示内存使用情况(这是默认的单位)。
  • -m:以MB为单位显示内存使用情况。
  • -g:以GB为单位显示内存使用情况。
  • -o:不显示缓冲区调节列。
  • -s <间隔秒数>:持续观察内存使用状况。
  • -t:显示内存总和列。
  • -V:显示版本信息。
  • 内存使用情况:这部分显示了总的内存量、已使用的内存量、空闲的内存量、共享的内存量、缓冲区内存量和缓存内存量。
  • 交换空间使用情况:这部分显示了交换空间的总量、已使用的交换空间量、空闲的交换空间量。

补:交换空间的概念:当物理内存(RAM)不够用的时候,将硬盘中的一些空间作为交换空间,系统可以将部分数据从物理内存转移到交换空间中,以便释放RAM资源给其他应用程序使用。这个过程称为交换(swapping)。交换空间可以提高系统的性能,因为它允许系统在物理内存紧张时继续运行。

在内存使用情况的输出中,total表示总的内存量,used表示已使用的内存量,free表示空闲的内存量,shared表示共享的内存量,buffers表示缓冲区内存量,cached表示缓存内存量。

补:cpu (cache) 内存 (buffer) 硬盘 

1.cache是介于cpu和内存之间的,用于cpu和内存之间缓存数据的。

cache:L1、L2。最常见的是L1cache和L2cache。L1cache一般是存在cpu的芯片里面,速度是最快的。L2cache是存在主板里面,是作为cpu和内存之间数据缓存的空间。当cpu和内存有数据交换时,先把数据存到cache中,cpu直接区cache里面取。

2.buffer是介于内存和硬盘之间的缓存

Linux中有两种设备:字符设备(如键盘)和块设备(硬盘),操作系统可以从这两种设备中获取数据。内存和硬盘交换数据的时候通过一个缓冲区buffer。

在交换空间使用情况的输出中,total表示交换空间的总量,used表示已使用的交换空间量,free表示空闲的交换空间量。

2.top命令-查看资源占用情况

在Linux系统中,top命令是一个非常实用的性能分析工具,它能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top命令提供了一个动态显示的过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。

其中,参数包括但不限于:

  • -b:批处理模式,直接将结果输出到文件。
  • -c:显示完整的命令行而不截断。
  • -I:忽略失效进程。
  • -s:保密模式,不显示敏感信息。
  • -S:累积模式,显示进程的CPU使用时间。
  • -i:不显示闲置(idle)或无用的进程。
  • -n:设置更新次数后自动退出。
  • -d:设置每两次屏幕信息刷新之间的时间间隔。

显示信息

top命令的输出包括以下几个部分:

  1. 系统状态:显示当前时间、系统运行时间、登录用户数量、平均负载等信息。
  2. CPU使用情况:显示用户空间、内核空间、改变过优先级的进程、空闲CPU、IO等待、硬中断和软中断占用的CPU百分比。
  3. 内存使用情况:显示物理内存总量、已使用内存、空闲内存、缓存内存等。
  4. 交换空间使用情况:显示交换空间的总量、已使用的交换空间、空闲的交换空间等。
  5. 进程信息:显示进程ID、进程所有者、进程优先级、nice值、虚拟内存使用量、常驻内存使用量、共享内存使用量、CPU使用率、内存使用率、进程启动后的CPU时间总计等。

3.vmstat命令

vmstat命令是Linux系统中用于监控系统资源使用情况的工具,它可以展示系统的CPU使用率、内存使用情况、虚拟内存交换情况以及I/O读写情况。vmstat命令提供了对系统整体性能的快照,帮助系统管理员了解系统的实时状态。

注:这里 vmstat 1 100 代表每秒打印一条数据,共打印100条

vmstat命令的输出结果包括多个部分,每个部分代表了不同的系统资源使用情况:

  • 进程信息(procs):显示当前运行队列中线程的数目(r)和等待IO的进程数量(b)。
  • 内存信息(memory):显示虚拟内存已使用的大小(swpd)、空闲的物理内存大小(free)、用作缓冲的内存大小(buff)、用作缓存的内存大小(cache)、每秒从交换区写到内存的大小(si)、每秒写入交换区的内存大小(so)。
  • I/O信息(io):显示每秒从磁盘读入虚拟内存的大小(bi)、每秒虚拟内存写入磁盘的大小(bo)、每秒CPU的中断次数(in)、每秒上下文切换次数(cs)。
  • CPU使用情况(cpu):显示用户进程执行时间(us)、系统进程执行时间(sy)、空闲时间(id)和等待IO的时间(wa)。

3.Linux中查看文件内容的命令

1. more指令 —— 分页显示文件内容

注:左下角会显示当前已经阅读了所有内容的百分之几。

more指令会以一页一页的形式显示文件内容,按空白键(space)显示下一页内容,按Enter键会显示下一行内容,按 b 键就会往回(back)一页显示,其基本用法如下:

more file1 查看文件file1的文件内容;

more -num file2 查看文件file2的内容,一次显示num行;

more +num file3 查看文件file3的内容,从第num行开始显示;


2. less指令 —— 可以向前或向后查看文件内容

注:less查出来的文件内容,可以通过鼠标滚轮往前看或者往后看!

less指令查看文件内容时可以向前或向后随意查看内容;

less指令的基本用法为:

less file1 查看文件file1的内容;

less -m file2 查看文件file2的内容,并在屏幕底部显示已显示内容的百分比;

less -N file2 查看文件file3的内容,并显示每行的行号;

按空格键显示下一屏的内容,按回车键显示下一行的内容;

按 U 向前滚动半页,按 Y 向前滚动一行;

按[PageDown]向下翻动一页,按[PageUp]向上翻动一页;

按 Q 退出less命令;


3. head指令 —— 查看文件开头的内容

head指令用于显示文件开头的内容,默认情况下,只显示文件的头10行内容;

head指令的基本用法:

head -n <行数> filename 显示文件内容的前n行;

例如:head -n 5 file1 显示文件file1的前5行内容

head -c <字节> filename 显示文件内容的前n个字节;

例如:head -c 20 file2 显示文件file2的前20个字节内容


4. tail指令 —— 显示文件尾部的内容

tail指令用于显示文件尾部的内容,默认情况下只显示指定文件的末尾10行;

tail指令的基本用法:

tail file1 显示文件file1的尾部10行内容;

tail file1 -f 动态显示文件file1的尾部10行内容;文件如果一直在写入数据,最新写入的数据也会被同步查出来。

tail -n <行数> filename 显示文件尾部的n行内容;

例如:tail -n 5 file1 显示文件file1的末尾5行内容

tail -c <字节数> filename 显示文件尾部的n个字节内容;

例如:tail -c 20 file2 显示文件file2的末尾20个字节


5. cat指令 —— 显示文件内容

使用cat命令时,如果文件较小还勉强能用,如果文件内容过多,则只会显示最后一屏的内容;

cat指令的基本用法:

cat file1 用于查看文件名为file1的文件内容;

cat -n file2 查看文件名为file2的文件内容,并从1开始对所有输出的行数(包括空行)进行编号;

cat -b file3 查看文件名为file3的文件内容,并从1开始对所有的非空行进行编号;

4.crontab命令-设置定时任务

        在Linux中设置定时任务通常是通过cron服务(表现就是一个一直执行的守护进程,这个守护进程会一直监视定时任务列表有没有指定定时任务)来实现的。cron服务允许用户在指定的日期和时间运行脚本和命令。如果有定时任务,就会到指定时间执行,如果没有,守护进程也会一直运行。要设置定时任务,你需要编辑当前用户的crontab文件,或者在/etc/crontab文件中添加系统级别的任务。

使用场景:日志分析、定时数据备份等周期性工作。

简单使用步骤:

1.创建一个任务 (可以是脚本或者命令)

2.通过 crontab - e 命令把定时任务加入crontab服务队列中

3.通过 crontab - l 命令查看队列中是否有加入的定时任务(确认成功加入任务)

例:1.假设我们已经写了一个脚本“time.sh”

        2.执行 crontab -e 命令,就会进入:

        任务执行的格式: 时间 + 任务路径

注:最后一个代表每天每小时每分钟执行1次。

写入以后,通过" :wq! " 保存并退出编辑。

        3.查看定时任务队列,通过命令 crontab -l

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/557449.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年国内USB Type-C厂商的机遇与挑战分析

USB Type-C接口作为一种全新的连接标准&#xff0c;已经在各种电子设备中得到了广泛的应用。2024年&#xff0c;国内USB Type-C厂商将面临着诸多机遇和挑战&#xff0c;需要全面分析和应对&#xff0c;以确保在竞争激烈的市场中保持竞争力和持续增长。 USB TYPE-C厂商在2024年…

09-ARM开发板的HelloWorld

在ARM开发板上运行x86_64平台程序 前面在Ubuntu系统编译生成了X86_64平台的HelloWorld程序&#xff0c;通过NFS服务器&#xff0c;尝试在开发板上直接运行。 如图所示&#xff0c;程序无法正常运行&#xff0c;终端提示ARM开发板在执行x86架构&#xff08;Intel或AMD&#xff…

【Linux】地址空间虚拟地址

个人主页 &#xff1a; zxctscl 如有转载请先通知 文章目录 1. 虚拟地址1.1 虚拟地址引入1.2 虚拟地址理解1.3 虚拟地址细节问题 2. 地址空间2.1 理解地址空间2.2 页表和写时拷贝 3. 进程调度 1. 虚拟地址 1.1 虚拟地址引入 先先来一个测试代码&#xff1a; 1 #include<st…

Grass注册不了、按钮灰色的解决方案

近期相信grass挂机项目不少人有所有接触。还有不了解这个项目的可以看看博客&#xff1a; http://t.csdnimg.cn/bI4UO 但是不少人注册时遇到无法注册的问题&#xff0c;或者是注册按钮显示灰色&#xff0c;放上鼠标时显示禁止。这也是博主在尝试时遇到的问题。 经过探索&…

如何解决python安装mysqlclient失败问题

在使用Django等框架来操作MySQL时&#xff0c;实际上底层还是通过Python来操作的&#xff0c;首先需要安装一个驱动程序&#xff0c;在Python3中&#xff0c;驱动程序有多种选择&#xff0c;比如有pymysql以及mysqlclient等。使用pip命令安装mysqlclient失败应如何解决&#xf…

【Linux实践室】Linux高级用户管理实战指南:Linux用户与用户组编辑操作详解

&#x1f308;个人主页&#xff1a;聆风吟_ &#x1f525;系列专栏&#xff1a;Linux实践室、网络奇遇记 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 一. ⛳️任务描述二. ⛳️相关知识2.1 &#x1f514;Linux查看用户属性命令2.1.1 &#x1f47b;…

测试用例的编写评审

1、什么叫软件测试用例 什么是测试用例 测试用例(TestCase) 是为项目需求而编制的一组测试输入、执行条件 以及预期结果&#xff0c;以便测试某个程序是否满足客户需求。–测试依据 可以总结为:每一个测试点的数据设计和步骤设计。–测试用例 2、测试用例的重要性(了解) 2.1…

社媒矩阵运营解决方案:海外云手机

在全球化的浪潮下&#xff0c;企业愈发认识到通过海外社交媒体平台扩大影响力、树立品牌形象及抢占国际市场的巨大机遇。因此&#xff0c;运营海外社交媒体账户已逐渐成为企业战略部署的重要组成部分。为了全面捕捉多渠道的流量&#xff0c;众多企业选择同时运营多个平台的多个…

基于Spring Boot的校园招聘系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

基于SkyEye运行Qt:著名应用程序开发框架

Qt是一个著名的跨平台的C图形用户界面应用程序开发框架&#xff0c;目前包括Qt Creator、Qt Designer等等快速开发工具&#xff0c;还支持2D/3D图形渲染、OpenGL&#xff0c;允许真正的组件编程&#xff0c;是与GTK、MFC、OWL、ATL一样的图形界面库。使用Qt开发的软件可以做到一…

抖音直播间没流量怎么办?如何快速提升直播间人气?

抖音直播间人气低迷&#xff0c;是否因为投入的资金不足或是数据表现不够抢眼而让你感到困惑&#xff1f;要提升抖音直播间的人气&#xff0c;首先需要深入了解抖音的推荐逻辑&#xff0c;探究直播间人气的真正来源。 抖音直播间的人气来源有哪些&#xff1f; 抖音直播间人气…

SpringMVC核心流程解析

SpringMVC核心流程解析 DispatcherServlet的继承关系请求流程分析获取HandlerChain(ControllrtMethod拦截器)获取HandlerAdapter handlerMappings的初始化过程 DispatcherServlet的继承关系 DispatcherServlet本质是一个servlet&#xff0c;既然是servlet&#xff0c;一个请求…

Pytorch-自动微分模块

&#x1f947;接下来我们进入到Pytorch的自动微分模块torch.autograd~ 自动微分模块是PyTorch中用于实现张量自动求导的模块。PyTorch通过torch.autograd模块提供了自动微分的功能&#xff0c;这对于深度学习和优化问题至关重要&#xff0c;因为它可以自动计算梯度&#xff0c…

视觉位置识别与多模态导航规划

前言 机器人感知决策是机器人移动的前提&#xff0c;机器人需要对周围环境实现理解&#xff0c;而周围环境通常由静态环境与动态环境构成。机器人在初始状态或者重启时需要确定当前所处的位置&#xff0c;然后根据用户的指令或意图&#xff0c;开展相应移动或抓取操作。通过视觉…

Mamba:使用选择性状态空间的线性时间序列建模

本文主要是关于mamba论文的详解~ 论文&#xff1a;Mamba: Linear-Time Sequence Modeling with Selective State Spaces 论文地址&#xff1a;https://arxiv.org/ftp/arxiv/papers/2312/2312.00752.pdf 代码&#xff1a;state-spaces/mamba (github.com) Demo:state-spaces (St…

Java 算法篇-深入了解 BF 与 KMP 算法

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 BF 算法概述 1.1 BF 算法实际使用 2.0 KMP 算法概述 2.1 KMP 算法实际使用 2.2 相比于 BF 算法实现&#xff0c;KMP 算法的重要思想 2.3 为什么要这样设计&#x…

C++面向对象程序设计-北京大学-郭炜【课程笔记(六)】

C面向对象程序设计-北京大学-郭炜【课程笔记&#xff08;六&#xff09;】 1、可变长数组类的实现2、流插入运算符和流提取运算符的重载2.1、对形如cout << 5 ; 单个"<<"进行重载2.2、对形如cout << 5 << “this” ;连续多个"<<&…

地埋电缆故障检测方法有哪些?地埋电缆故障检测费用是多少?

地埋电缆故障检测方法主要涵盖脉冲反射法、桥接法、高压闪络法和声波定位法等多种方法。选择适当的方法取决于故障类型、电缆类型和实际现场条件。至于地埋电缆故障检测费用则受到多个因素的影响&#xff0c;包括故障类型、检测方法的复杂性、检测设备的先进程度以及所处地区的…

【强化学习的数学原理-赵世钰】课程笔记(十)Actor-Critic 方法

目录 一.最简单的 actor-critic&#xff08;QAC&#xff09;&#xff1a;The simplest actor-critic (QAC) 二.Advantage actor-critic (A2C) 三.Off-policy actor-critic 方法 四. Deterministic actor critic(DPG) Actor-Critic 方法把基于 value 的方法&#xff0c;特别…

删除顺序表中所有值为X的元素(顺序表,单链表)

目录 时间复杂度为O(1)(顺序表)&#xff1a;代码实现&#xff1a; 运行结果&#xff1a; 时间复杂度为O(n)(顺序表)&#xff1a;代码实现&#xff1a; 运行结果&#xff1a; 单链表&#xff1a;时间复杂度o&#xff08;n&#xff09;:代码实现&#xff1a; 时间复杂度为O(1…