InfraPub 为您找到相关结果 98

bmon:一个强大的网络带宽监视和调试工具

bmon 是类 Unix 系统中一个基于文本,简单但非常强大的 网络监视和调试工具,它能抓取网络相关统计信息并把它们以用户友好的格式展现出来。它是一个可靠高效的带宽监视和网速估测工具。 它能使用各种输入模块读取输入,并以各种模式显示,包括交互式文本用户界面和用于脚本编写的可编程文本。 在 Linux 上安装 bmon 带宽监视工具 几乎所有 Linux 发行版的默认仓库中都有 bmon 软件包,可以从默认包管理器中轻松安装,但可用的版本可能比较旧。 $ sudo yum install bmon [On RHEL/CentOS/Fedora] $ sudo dnf install bmon [On Fedora 22+] $ sudo apt-get install bmon...阅读全文

博文 2021-01-28 17:50:27 debian.cn

高性能日志采集工具 logpipe 简单介绍

日志文件增长,某些应用会在目标目录下产生多个日志文件甚至现在不能确定将来的日志文件名,架构上要支持多输入多流式日志采集传输,为了达成以上需求,我研究了所需技术,评估实现难度并不高,就自研了 logpipe。 logpipe 是一个分布式、高可用的用于采集、传输、对接落地的日志工具,采用了插件风格的框架结构设计,支持多输入多按需配置组件用于流式日志收集架构,无第三方依赖。 logpipe 的一种用法是能异步实时监控集群里的所有日志目录,一旦有文件新增或追加写,立即采集并传输到大存储上以相同日志文件名合并落地,或者写入 HDFS。异步意味着不影响应用日志的性能,实时意味着一有日志立即采集,很多日志采集工具如 flume-ng、logstash 介绍文档通篇不提采集方式是否实时还是周期...阅读全文

十个增加 Linux Shell 脚本趣味的小工具

很多人误以为shell脚本只能在命令行下使用。其实shell也可以调用一些GUI组件,例如菜单,警告框,进度条等等。你可以控制最终的,光标位置还有各种效果。下面我将介绍一些工具,帮助你创建强大的,互动的,用户友好的 Unix/Linux shell脚本。我在FreeBSD和Linux下测试过这些工具,不过其他UNIX系列的操作系统应该都支持的。 1. notify-send 命令 这个命令可以让你通过通知进程发送一个桌面通知给用户。这可以用来向用户发送提示,或者显示一些信息而不用打断用户工作。你需要安装如下软件包: $ sudo apt-get install libnotify-bin 下面这个例子展示了如何从命令行向桌面发送一个简单的消息: notify-send...阅读全文

博文 2018-04-09 09:38:50 debian.cn

Cincoze 推出 DX

、三个 mSATA 连接器、一个可选的 M.2-2230 CNVi Wi-Fi 适配器、以及一个 SIM 卡托架。 坚固耐用的 DX-1100 可耐受极端的工作条件,比如 -40°C 到 70°C 的温度、宽直流输入电压(9~48 V)、以及强振动和冲击(5/50 Grms)。这样的特性,让 DX-1100 能够轻松应付工业、车载、移动等类似环境。 扩展性方面,DX-1100 支持 Cincoze 专有的 CMI(组合多 I/O)和 CFM(控制功能模块),允许制造商定制外部 I/O,以充分满足客户的需求。 默认情况下,Diamond Extreme 系列 DX-1100 机型配备了 8×USB 3.0 / 3.1 端口(6 + 2),DVI-I (支持适配器转接 D-Sub...阅读全文

博文 2019-03-09 20:44:50 1100 超紧凑型工作站 至强E系芯片

Bash Shell 中的 PROMPT_COMMAND

在 bash 显示 prompt 之前。 这个好理解,就是说每执行一个命令前,PROMPT_COMMAND 里面先执行,然后是 prompt。 但里面的 msg=$(history 1 | { read x y; echo $y; }); 让我迷惑了,现在我来把它拆解, 先来理解 history 1 命令,它的总是 $COMMAND_Number history 1, 也就是理解成它的总是最后一次执行的命令? bash 会最先记录下这个命令:history 1 | { read x y; echo $y; }? 接着 history 1 加管道处理后就变成它本身,而不带 $COMMAND_Number,于是就是命令它本身:history 1 | { read x y...阅读全文

使用 cURL 对Web请求进行性能测试

在做 Web 开发的时候,经常需要对 Web Page 或者 REST-ful API 做简单的 Benchmark。本文将介绍如何使用 cURL 进行简单快速的性能评测。本文内容分为以下两部分: 使用 curl 查看加载时间 使用 curl -w 查看更多的网络情况 使用 curl 查看加载时间 curl -s -w "%{time_total}\n" -o /dev/null http://www.github.com/ 1.492 可以看到请求时间为 1.492 秒。此时: -s, --silent: 让 curl 保持静默模式,不会进度条 -w "%{time_total\n}":使用时间 -o /dev/null: 这个参数用来隐藏 response 的内容 如果使用...阅读全文

博文 2018-11-28 18:40:47 debian.cn

多媒体播放器 VLC 4.0 将引入新用户界面

VLC 4.0 版本将增加对主流 VR 头显的支持,并带来全新的界面。在早前举行的 FOSDEM 2019 中,VLC 总裁兼开发负责人 Jean-Baptiste Kempf 谈论了 正在开发的 VLC 4.0 的新特性。 代号为 Otto Chriek 的 VLC 4.0 新版本将采用完全重写的用户界面,同时包含一个专用媒体库,并支持可通过英伟达或标准 HDMI 访问的 Ambisonics 3rd order 三维内容。新变化主要包括: 新的播放列表新的用户界面支持 VR/3D 的新视频架构移除对旧平台的支持支持 360 度视频、3D 音频 (Windows Media Reality,Vice,Oculus,PSVR)支持 HTC Vive 和 Oculus 等 VR 设备改进...阅读全文

Icinga Web2 v2.7.0 发布 轻量级和可扩展的 web 接口

卡 Stay Focused —— 为更重要的事情留出更多的空间 有些人知道,有些检查往往会产生大量的文本或度量 (也) 许多接口。现在,插件和性能数据将崩溃,如果它们超过一定的高度。如果有必要,当然可以扩展它们,并在浏览器重新启动时保持这种方式。 持久可折叠容器可折叠插件侧边栏应保持塌陷状态 Markdown —— 表格、列表和强调文本的简单方法 由于现在有可能动态地折叠大型内容,所以允许您将整个 wiki 页面添加到主机和服务中。不过,如果您更喜欢使用真正的 wiki 来维护这些,现在链接到它比以往任何时候都容易。复制 url、粘贴 url、提交评论、完成。 notes、 comments 和 announcements将注释中的任何 URL 转换为可单击链接支持插件中的相关...阅读全文

博文 2019-08-06 12:18:01 debian.cn

Kubernetes常用命令大全(持续更新)

kubectl logs nginx-pod #### dump pod 的日志(stdout) kubectl logs nginx-pod -c my-container #### dump pod 中容器的日志(stdout,pod 中有多个容器的情况下使用) kubectl logs -f nginx-pod #### 流式 pod 的日志(stdout) kubectl logs -f nginx-pod -c my-container #### 流式 pod 中容器的日志(stdout,pod 中有多个容器的情况下使用) kubectl run -i --tty busybox --image=busybox -- sh #### 交互式 shell 的方式运行 pod...阅读全文

博文 2020-03-13 12:35:13 debian.cn

MacOSX 中如何列出登录历史记录?

参考命令: show --style syslog --last 2d | awk '/Enter/ && /unlockUIBecomesActive/ {print $1 " " $2}' 样例: ``` 2021-03-02 11:56:49.503612+0800 2021-03-02 11:59:31.912671+0800 2021-03-02 12:16:09.012835+0800 2021-03-02 12:17:20.568175+0800 2021-03-02 12:32:57.510368+0800 2021-03-02 12:34:02.150225+0800 2021-03-02 12:51:34.580978+0800...阅读全文

Go 1.16 即将发布,这些变更你需要知道

-bindata/go-bindata 这类第三方开源库来实现。 而从 Go1.16 起,通过 go:embed 就可以快速实现这个功能: import _ "embed" //go:embed hello.txt var s string print(s) 通过对变量 s 声明 go:embed 指令,使其在编译时读取当前目录下的 hello.txt 文件。 最终变量 s 就会 hello.txt 文件中的字符串内容。 新增 io/fs 的支持 新增了标准库 io/fs,正式将文件系统相关的基础接口抽象到了该标准库中。 以前的话大多是在 os 标准库中,这一步抽离更进一步的抽象了文件树的接口。在后续的版本中,大家可以优先考虑使用 io/fs 标准库。 调整切片扩容策略 Go1.16 以前的...阅读全文

博文 2021-02-17 08:52:12 CSDN博客

如何在 Linux 上安装 Intel 微代码固件

微代码就是由 Intel/AMD 提供的 CPU 固件。Linux 的内核可以在引导时更新 CPU 固件,而无需 BIOS 更新。处理器的微码保存在内存中,在每次启动系统时,内核可以更新这个微码。这些来自 Intel/AMD 的微码的更新可以去修复 bug 或者使用补丁来防范 bug。 如果你是一个 Linux 系统管理方面的新手,如何在 Linux 上使用命令行方式去安装或者更新 Intel/AMD CPU 的微码固件呢? 如何查看当前的微码状态 以 root 用户运行下列命令: # dmesg | grep microcode 如下: 注意,你的 CPU 有可能出现没有可用的微码更新的情况。这时它的可能是如下这样的: [ 0.952699] microcode: sig...阅读全文

博文 2018-03-07 19:37:47 debian.cn

Consul 如何强制剔除无效节点,批量 force-leave 节点?

首选从 members 命令的中,创建一个 failed 的文件列表,文件内容为 Node 节点名称,每行一个,保存为 /tmp/failed, 然后执行这个命令就可以批量清理了, ``` for i in `cat /tmp/failed`; do echo $i ++++++++++++++; \ curl --request PUT -H 'Content-Type: application/json' 'http://127.0.0.1:8500/v1/agent/force-leave/'$i; \ done ``` /tmp/failed 文本内容,取自 `bin/consul members | awk '{print $1...阅读全文

Debian 环境下有趣的命令

sl 命令 你会看到一辆火车从屏幕右边开往左边。。。。。。 安装 $ sudo apt-get install sl 运行 $ /usr/games/sl sl 命令有 -alFe 几个选项, -a An accident seems to happen. You'll feel pity for people who cry for help. -l shows little one. -F It flies. -e Allow interrupt by Ctrl+C. 可以给别人来个恶作剧,他一敲 ls,不知道的肯定很有效果。 $ alias ls=sl fortune 命令 一句话,有笑话,名言什么的 (还有唐诗宋词 sudo apt-get install fortune-zh...阅读全文

博文 2021-01-28 17:50:32 debian.cn

Debian 安装配置 v2ray 服务端

很简单,只需要一行命令就可以完成安装:`bash <(curl -L -s https://install.direct/go.sh)` 安装过程的样例如下: ``` root@debian:~# bash <(curl -L -s https://install.direct/go.sh) Installing V2Ray v3.5 on x86_64 Downloading V2Ray. % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 608 0 608 0 0 584 0 --:--:-- 0:00:01...阅读全文

博文 2021-03-11 16:49:32 diablo4

Go 1.15.7 新鲜出炉:修复安全问题,建议升级

/go/issues/43783。为此,Russ Cox 专门写了一篇博文介绍:https://blog.golang.org/path-security,阐述了该 bug,如何复现以及怎么修复的。(如果打不开,可以看 Go 语言中文网镜像:https://docs.studygolang.com/blog/path-security ,阅读原文可以直达)2、crypto/elliptic:P-224 曲线上的错误操作。在极少数情况下,P224() 曲线实现可能会产生不正确的,包括从 ScalarMult 返回无效点。crypto/x509 和golang.org/x/crypto/ocsp(但不包括 crypto/tls)包支持 P-224 ECDSA 密钥,但不受公共信任的证书颁发机构的...阅读全文

博文 2021-01-25 15:15:34 mp.weixin.qq.com

Debian 9 使用kubeadm创建 k8s 集群(下)

对象的描述。 完成后保存并关闭文件。 通过运行本地执行Playbook: ansible-playbook -i hosts ~/kube-cluster/master.yml 完成后,您将看到类似于以下内容的: Output PLAY [master] **** TASK [Gathering Facts] **** ok: [master] TASK [initialize the cluster] **** changed: [master] TASK [create .kube directory] **** changed: [master] TASK [copy admin.conf to user's kube config] ***** changed: [master...阅读全文

博文 2019-05-13 22:57:41 debian.cn

如何校验 Debian 软件包的 MD5

apt install debsums 现在可以了解如何使用debsums工具,来校验已安装软件包的MD5和了。 说明:我在下面的所有命令中使用了sudo,因为普通用户可能没有某些文件的读取权限。 此外,来自debsums命令的在左边显示了文件位置,在右边显示了检验结果。你会得到三种可能的结果,它们包括: OK――表明某个文件的MD5和是好的。 FAILED――表明某个文件的MD5和不匹配。 REPLACED――意味着某个特定文件已被来自另一个软件包的文件所更换。 如果你不用任何选项来运行,debsums会对照常规的md5sum文件来校验系统上的每个文件。 $ sudo debsums 扫描文件系统、寻找MD5和 /usr/bin/a11y-profile-manager-indicator...阅读全文

博文 2021-01-28 17:50:18 debian.cn

Go1.16 新特性:一文快速上手 Go embed

" //go:embed hello.txt var s string func main() { print(s) } 我们首先在对应的目录下创建了 hello.txt 文件,并且写入文本内容 “吃煎鱼”。 在代码中编写了最为核心的 //go:embed hello.txt 注解。注解的格式很简单,就是 go:embed 指令声明,外加读取的内容的地址,可支持相对和绝对路径。 结果: 吃煎鱼 读取到静态文件中的内容后自动赋值给了变量 s,并且在主函数中成功。 而针对其他的基础类型,Go embed 也是支持的: //go:embed hello.txt var s string //go:embed hello.txt var b []byte //go:embed hello.txt var f...阅读全文

博文 2021-02-17 08:44:12 CSDN

Linux 中使用 Fio 测评硬盘性能

=randwrite --ioengine=libaio --iodepth=1 --rw=randwrite --bs=4k --direct=0 --size=512M --numjobs=2 --runtime=240 --group_reporting 如下: ... fio-2.2.10 Starting 2 processes randwrite: (groupid=0, jobs=2): err= 0: pid=7271: Sat Aug 5 13:28:44 2017 write: io=1024.0MB, bw=2485.5MB/s, iops=636271, runt= 412msec slat (usec): min=1, max=268, avg= 1.79, stdev...阅读全文

博文 2018-08-15 19:18:24 debian.cn

如何在 Debian Stretch 中安装使用 PHP5

php 5.6 和 php 7.0 两个版本,我们如何在两个版本之间切换呢?使用以下命令即可, update-alternatives --config php 样例如下: ---------------------------------------------------------- * 0 /usr/bin/php7.0 70 mode automatique 1 /usr/bin/php5.6 56 mode manuel 2 /usr/bin/php7.0 70 mode manuel 至此,你就在 Debian Stretch 上有了一个 PHP 5.6 的环境。...阅读全文

博文 2017-12-11 23:05:21 debian.cn

树莓派4B降价 2GB内存版售35美元

树莓派(Raspberry Pi)微型计算机是备受全球开发者和极客们欢迎的产品,树莓派基金会于去年6月发布了Raspberry Pi 4 Model B,换用了速度更快的CPU,并提供了4GB大内存版本,还引入了USB 3.0,支持双屏4K与H.265解码。 今年,树莓派即将迎来8岁生日,为了庆祝,树莓派基金会宣布,2GB内存版的树莓派4B降价,由原价45美元下调至35美元,同时原售价35美元的1GB版本停止发售。而4GB内存版价格保持不变,仍然是55美元。 根据去年底的统计数据,树莓派累计销量已超3000万件。树莓派4B算是一次较为重大的升级,核心处理器为博通BCM2711,采用四核Cortex A72架构,28nm工艺,主频1.5GHz。最高可选4GB LPDDR4内存,并提供千兆...阅读全文

博文 2020-02-28 10:34:01 debian.cn

基于树莓派并支持触屏的模块化 PC:Zero Terminal 3

(用于充电)microSD 读卡器(用于操作系统)3.5 毫米耳机插孔视频相机接口2 个电源指示灯3 个可编程按键(连接到 Raspberry Pi Zero 的 GPIO pins)电源开关 NODE 还发布了一个视频,展示了 Zero Terminal 3 的详细组装过程。目前,Zero Terminal 3 并未上市销售,不过 NODE 表示,他计划提供更多细节和说明,以帮助大家来构建自己的 Zero Terminal 设备和模块化附件。 更多详细介绍可查看:https://n-o-d-e.net/zeroterminal3.html...阅读全文

博文 2020-08-10 11:31:07 debian.cn

如何查看当前 Debian 系统的版本

命令的样例为如下, joseph@debian:~$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 9.9 (stretch) Release: 9.9 Codename: stretch Systemd 中附带的命令 hostnamectl 也可以用来查看版本信息,样例; joseph@debian:~$ hostnamectl Static hostname: debian Icon name: computer-vm Chassis: vm Machine ID: ec27d3592320f9a20f18f50f332019b1...阅读全文

博文 2019-04-20 13:06:36 debian.cn

Linux Kernel 5.10本周末发布 十个功能盘点

,Linux Kernel 5.10 获得了更多的 Gen12 / Xe Graphics 修补程序,特定于 Rocket Lake 使用的功能以及其他更改。此外该分支还包括其他相关的工作,例如在支持 Intel DG1 离散图形卡的 HDMI 音频支持。 3.AMDGPU DC 为 GCN 1.0 "Southern Islands" 图形处理器添加 AMDGPU DC 显示支持。AMDGPU DC for GCN 1.0 是 AMDGPU DC是遗留下来的遗留项目之一,因为它们可能默认情况下启用 GGPU 1.0 / 1.1 时代硬件的AMDGPU支持,而不是Radeon DRM驱动程序。 最后一个明显的障碍是 AMDGPU DC 缺乏模拟支持,因此没有进行默认更改。那些老化的...阅读全文

博文 2020-12-09 10:30:48 debian.cn

Docker CE 19.03 正式发布 无需root权限

Docker CE 19.03 和 EE 3.0 都已经发布,19.03 主要内容包括无需 root 权限、支持 GPU 的增强功能和 CLI 插件更新等等,19.03 现在是允许非 root 用户运行守护程序,启用 Rootless 模式可以防止攻击者夺取主机的 root 权限,即使 Docker 存在漏洞或设置错误。 更新内容如下: Builder 增加了内联缓存支持 –cache-from docker/engine#215允许配置 moby/moby#38898固定的 GCR 变通令牌缓存 docker/engine#212下载错误时调用 stopprogress docker/engine#215Buildkit 现在使用 systemd 的 resolv.conf...阅读全文

博文 2019-07-24 21:30:05 debian.cn

树莓派 9 周年:你不知道的树莓派冷知识

2020 年末推出,是树莓派系列中的第一台独立计算机,包含输入和设备。这款 Pi 400 不同于以往发布的裸开发板,其外壳集成了一块键盘,可以与鼠标、电源、电缆、显示器配套使用。 ​▲ 自带键盘和输入接口的 Raspberry Pi 400此外,前段时间刚刚发布的 Raspberry Pi Pico 也是一种与以往的产品完全不同的树莓派类型,该款产品是一种微控制器板。3. 售价最低的树莓派​▲ Raspberry Pi PicoRaspberry Pi Pico 于 2021 年 1 月发布,是树莓派系列的首款微控制器,同时也标志着其首款定制芯片 RP2040 CPU 的首次亮相。以往的每一款树莓派通常都可以安装 Linux 操作系统成为一台功能齐全的计算机,但售价仅 4 美元的 Pico...阅读全文

博文 2021-03-11 17:03:55 diablo4

Vinux 5.1 发布 基于 Ubuntu 的 Linux 发行版

Vinux 5.1 发布了。Vinux 是演化自 Ubuntu 的发行,面向盲人及弱视用户的需求作了优化。Vinux 缺省提供两份屏幕阅读器,以及对布莱叶文的显示支持和友好的用户社区。当从这份自启动运行镜像引导时,迎接用户的将是 Orca 阅读器,它让用户能通过键盘命令来浏览图形化的 GNOME 桌面。此外,Brltty 还通过 Orca 提供级别 1 和级别 2 的布莱叶文。 Vinux 提供屏幕阅读器,盲文支持和高对比度图标。 该项目的最新版本 Vinux 5.1,基于 Ubuntu 14.04.5 LTS,并提供三个桌面环境:Unity 7.2.4,GNOME 3.10.4 和 MATE 1.8。这次发布的版本不仅仅是关于 Unity 桌面的特性,还有 GNOME Shell 和...阅读全文

博文 2021-01-28 17:50:20 debian.cn

工业版树莓派HackBoard 2众筹中 支持Win10专业版和4G/5G网络

作为工业版本的“树莓派”,HackBoard 已经迎来了第二代产品更新。这款单板机配备了双核 @ 2.8GHz 的英特尔赛扬 N4020 处理器,具有高度的可配置特性,且支持 4G / 5G 蜂窝移动网络。感兴趣的朋友,可拿出 99 美元(约 649 RMB)去支持 HackBoard 2 的 Ubuntu Linux 版本、或以 140 美元(约 649 RMB)的价格获取 Windows 10 专业版。 除了英特尔赛扬 N4020 处理器,HackBoard 2 还板载了 4GB DDR4 内存,辅以支持 4TB 存储空间的两个 NVMe SSD 插槽。 显示方面,赛扬 N4020 集成了 Intel UHD Graphics 600 核显,支持 4K HDMI ,另有支持...阅读全文

博文 2020-12-15 13:06:35 debian.cn

Debian 如何安装无线网卡驱动

在安装 Debian 10 的时候提示没有iwlwifi驱动,因为当时没有安装有 iwlwifi 的驱动盘,跳过后开机发现没有 wifi。这里我们将介绍,有线网正常的状态下,如何下载安装 iwlwifi 驱动,并开启 wifi 。 因为我用的是 Intel Wireless-N 的无线网卡,所以本教程以 Intel Wireless-N 为例说明。如果你使用的是其他厂商的无线网卡,请参考 Debian wiki,查找相应的配置方法。如果不确定无线网卡的型号,可以通过命令 lspci 查询,或者在 dmesg 的命令中找到线索。 更新安装源 我们需要添加 non-free 的安装源,到系统中,更新 /etc/apt/sources.list,添加以下记录: deb http...阅读全文

博文 2020-02-19 15:18:51 debian.cn

Prometheus 常用 PromQL 语句样例

[4h], 3600)时间获取 Unix 时间,以秒为单位: time()获取最后一次成功运行的批处理作业的年龄: time() - my_batch_job_last_success_timestamp_seconds查找一小时内没有成功的批处理作业: time() - my_batch_job_last_success_timestamp_seconds > 3600缺失数据处理当输入向量为空时,创建一个一个序列: absent(my_metric_name)当输入的范围向量5分钟内都是空的时候,创建一个空的序列: absent_over_time(my_metric_name[5m])标签操作用 - 分隔符连接两个标签的值: label_join(my_metric_name...阅读全文

博文 2021-02-09 11:07:15 51CTO博客

最全 MongoDB 基础教程

源文档的排序获取第一个文档数据 db.ruochen.aggregate([{$group: {_id: "$by", url: {$first: "$url"}}}]) $last 根据资源文档的排序获取最后一个文档数据 db.ruochen.aggregate([{$group: {_id: "$by", url: {$last: "$url"}}}]) 管道 管道在Unix和Linux中一般用于将当前命令的结果作为下一个命令的参数 MongoDB的聚合管道将MongoDB文档在一个管道处理完毕后将结果传递给下一个管道处理 管道操作是可以重复的 表达式:处理文档并 表达式是无状态的,只能用于计算当前聚合管道的文档,不能处理其它的文档 常用操作 $project:修改输入文档的结构...阅读全文

博文 2021-02-22 07:45:45 OSChina

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

"> 注意格式中的 %M() 一行,这里意味着在打印日志的时候,需要打印当前日志所在执行的方法,这样看来,这个操作严重影响到了性能。 9.3 日志配置规则去除方法名 修改一下日志 append 格式,去掉方法,处理速率一下子就达到了7万多。 采用上文中的方法继续使用 async-profiler 生成火焰图,并用浏览器打开。这时候,日志 append 操作所占用的横轴长度显著下降,并且此时速度已经达到了关闭日志append 时的速度,说明修改日志格式后能够带来...阅读全文

博文 2022-03-11 10:05:09 博客园

说透IO多路复用模型_京东云开发者的博客

作者:京东零售 石朝阳 在说IO多路复用模型之前,我们先来大致了解下Linux文件系统。在Linux系统中,不论是你的鼠标,键盘,还是打印机,甚至于连接到本机的socket client端,都是以文件描述符的形式存在于系统中,诸如此类,等等等等,所以可以这么说,一切皆文件。来看一下系统定义的文件描述符说明: 从上面的列表可以看到,文件描述符0,1,2都已经被系统占用了,当系统启动的时候,这三个描述符就存在了。其中0代表标准输入,1代表标准,2代表错误。当我们创建新的文件描述符的时候,就会在2的基础上进行递增。可以这么说,文件描述符是为了管理被打开的文件而创建的系统索引,他代表了文件的身份ID。对标windows的话,你可以认为和句柄类似,这样就更容易理解一些。 由于网上对linux...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

MongoDB 4.2 正式发布 引入分布式事务

MongoDB 4.2 正式发布了,MongoDB Server 4.2 提高了现代事务和分析数据平台的技术水平。 Mongodb-4.2 的主要改动包括: 分布式事务将 MongoDB 的多文档 ACID 从副本集扩展到共享集群,能够为更广泛的用例服务按需物化视图使用新的 $Merge 运算符,在集合中缓存大型聚合的是一种常见的模式,新的 $Merge 运算符将可以有效地更新这些结果,而不是完全重新计算它们通配符索引使建模像产品目录这样的高度异构的集合变得简单和自然,而不牺牲对索引的支持。只需定义一个过滤器,它将自动索引集合中所有匹配的字段、子文档和数组MongoDB 查询语言增强功能,如更有表现力的更新、新的数学运算符和扩展的 regex 支持。此版本的 update 和...阅读全文

博文 2019-08-16 07:54:08 debian.cn

Linux kernel 4.0全新发布!引入热升级

音频同步,HSA AMDKFD异构计算内核驱动开始支持Carrizo APU,Intel Skylake核显驱动基本成型,NVIDIA显卡驱动也有改进。 更多新硬件也得到了支持,比如Intel Quark SoC处理器、更多ARM设备、IBM z13大型主机、东芝笔记本、罗技输入设备。 存储方面也值得一提,pNFS 、Btrfs RAID 5/6的加入和OverlayFS的新功能等。 Linus Torvalds对这个版本倒是很淡定:“就功能方面而言,4.0并没有太过特殊的,新内核补丁架构方面我们已经做了太多。现实地讲,这并不是改变版本号的理由,其他版本我们有过更大的变化。” 事实上他还透露说,Linux 4.1的变化其实会更大(bigger release),会有更吸引人的特性,但具体...阅读全文

单核心 IOPS 突破 1000 万,Linux 5.16 有望大幅提升 I/O 性能

Linux block 子系统的负责人 Jens Axboe 目前就职于 Facebook,他也因开发了 IO_uring 而闻名,他对 IO_uring 的不断开发与优化使得 Linux 系统的 I/O 性能得到巨大提升。一周前,Jens Axboe 开始对内核的 I/O 性能进行了新一轮的优化,以便在单个 CPU 核心上获得 800 万 IOPS。经过一周时间的努力,每个核心能够实现 890 万左右的 IOPS,就当大家以为这个数字已经达到他所使用的硬件极限,没有更多优化空间时,本周他又成功地将每个核心的 IOPS 推到了 1000 万。IOPS(Input/Output Operations Per Second)是一个衡量电脑储存装置(如 HDD、SSD)输入/性能高低的指标...阅读全文

博文 2021-10-27 10:32:50 joseph

Wine 3.0发布:支持Android图形驱动、Direct3D 11、AES加密

2018 年伊始,Wine(Wine Is Not an Emulator) 项目发布了年度更新,释出了最新的 3.0 稳定版本。 Wine 是一个在 Linux 和 Unix 类操作系统上运行 Windows 应用及游戏的开源兼容层。 经过近一年的开发,Wine 3.0 发布了许多神奇的功能,如 Android 图形驱动可以使用户在基于 Android 的机器上运行 Windows 应用和游戏,对 AMD Radeon 和 Intel GPU 默认启用 Direct3D 11 支持,在 macOS 上支持 AES 加密支持,程序管理器的 DDE 支持以及任务调度器。 此外,Wine 3.0 通过 reg.exe 引入了注册表项的功能,对中继调试和 OLE 数据缓存增加了各种增强,以及...阅读全文

博文 2018-01-23 11:22:34 debian.cn

Django 3.0 发布第一个版本 开始支持异步功能

MariaDB 10.1 及更高版本;新的 ExclusionConstraint 类可以在 PostgreSQL 上添加排除约束; BooleanField 的表达式现在可以直接在 QuerySet 过滤器中使用,而无需先注解然后对注解进行过滤;自定义枚举类型 TextChoices、IntegerChoices 和 Choices 现在可用作定义 Field.choices 的方法。 此外还有一些小改动,详情查看更新说明: https://docs.djangoproject.com/en/dev/releases/3.0 需要注意的是,Django 3.0 支持 Python 3.6、3.7 与 3.8,Django 2.2.x 系列是最后一个支持 Python 3.5 的系列。官方同时也建议...阅读全文

博文 2019-09-13 07:21:28 debian.cn

SK Hynix量产首个4D NAND闪存:96层堆栈 速度提升30%

NAND,4D NAND闪存有很强的商业营销味道。 SK Hynix的4D NAND闪存首先会量产TLC类型的,核心容量分别是512Gbt、1Tb,都是96层堆栈,IO接口速度1.2Gbps,不过两者的BGA封装面积是不一样的,1Tb版显然更大一些。 至于QLC类型的,这个未来会是SK Hynix量产的重点,核心容量1Tb,但量产时间会在明年下半年,还需要一些时间。韩联社报道称,SK Hynix公司4日宣布正式宣布96层堆栈的4D NAND闪存,TLC类型,核心容量512Gb,与现有的72层堆栈3D NAND闪存相比,4D NAND闪存的核心面积减少了30%,单片晶圆的生产增加了50%,而且性能也更强——读取速度提升30%,写入速度提升25%。 根据官方所说,4D NAND闪存今年内会量产,而...阅读全文

博文 2018-11-05 23:47:54 debian.cn

服务器文件上传下载利器 trzsz + iTerm2 配置指南

zenity progress bar安装 zenitybrew install ncruces/tap/zenity 如果 Mac M1 安装失败,可以试试用 go 进行编译安装:brew install go go install 'github.com/ncruces/zenity/cmd/zenity@latest' sudo cp ~/go/bin/zenity /usr/local/bin/zenity 执行 ls -l /usr/local/bin/zenity 应该 zenity 可执行文件或软链。不然可以建个软链:sudo ln -sv $(which zenity) /usr/local/bin/zenity 如果进度条不是在前面弹出,可以尝试升级 zenity, 并且不要选中...阅读全文

Debian上安装配置Docker容器管理平台Rancher

/server:stable 上述命令需要花费几分钟的时间让Rancher服务器启动。 一旦Rancher镜像下载并成功启动,您应该看到以下: stable: Pulling from rancher/server bae382666908: Pull complete ... a6247b3fea45: Pull complete 0d46392966fe: Pull complete Digest: sha256:42441f0128fae4d72d51f92de2049392427d462356282a46f28434332967c7e4 Status: Downloaded newer image for rancher/server:stable...阅读全文

博文 2018-04-10 22:27:37 debian.cn

Linux系统诊断-内存基础

的文件,大多反馈系统信息的实时情况(进程、内存、cpu、设备信息等)。结论: /proc/meminfo 是 /proc 文件系统下保存你内存相关信息的"伪文件"。2.2 命令简介每个发行版都有一定差异,我们以debian8 4.19.x发行版为例。root@4f996feeb851:~# free -m total used free shared buffers cached Mem: 1991 1909 81 4 155 836 -/+ buffers/cache: 917 1073 Swap: 1023 1 1022大部分的命令意思,大家可以在man文档中找到解析,这里不做赘述。used: 已使用的内存 used = total - free -buffers...阅读全文

博文 2021-02-11 14:22:42 SegmentFault 思否

Python的闭包和装饰器

回绑定变量后的函数(也即闭包),此时即便生成闭包的环境(父函数)已经释放,闭包仍然存在,这个过程很像类(父函数)生成实例(闭包),不同的是父函数只在调用时执行,执行完毕后其环境就会释放,而类则在文件执行时创建,一般程序执行完毕后作用域才释放,因此对一些需要重用的功能且不足以定义为类的行为,使用闭包会比使用类占用更少的资源,且更轻巧灵活,现举一例:假设我们仅仅想打印出各类动物的叫声,分别以类和闭包来实现: 可以看到结果是完全一样的,但显然类的实现相对繁琐,且这里只是想一下动物的叫声,定义一个 Animal 类未免小题大做,而且 voice 函数在执行完毕后,其作用域就已经释放,但 Animal 类及其实例 dog 的相应属性却一直贮存在内存中: 而这种占用对于实现该功能后,则是没有必要...阅读全文

博文 2014-07-23 17:06:38 debian.cn

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

://get.k3s.io | sh - 等到命令完成后,一个单节点集群就已经运行起来了。让我们检查一下,在这个派上执行命令后,可以看到以下, kmaster$ sudo kubectl get nodes NAME STATUS ROLES AGE VERSION kmaster Ready master 2m13s v1.14.3-k3s.1 部署工作节点 主节点完成安装后,我们开始部署工作节点。在工作节点上安装 K3s 时,会用到 join token 连接令牌,它可以使用如下命令从主节点上获取到。获取到令牌 join token 后,先保存起来,便于后续使用, sudo cat /var/lib/rancher/k3s/server/node-token 我们把两个树莓派工作节点的主机名分别设置为...阅读全文

博文 2020-04-12 16:30:23 debian.cn

Scrapy 架构及数据流图简介

URL的类。 每个spider负责处理一个特定(或一些)网站。 Item Pipeline Item Pipeline负责处理被spider提取出来的item。典型的处理有清理、 验证及持久化(例如存取到数据库中)。 下载器中间件(Downloader middlewares) 下载器中间件是在引擎及下载器之间的特定钩子(specific hook),处理Downloader传递给引擎的response。 其提供了一个简便的机制,通过插入自定义代码来扩展Scrapy功能。 Spider中间件(Spider middlewares) Spider中间件是在引擎及Spider之间的特定钩子(specific hook),处理spider的输入(response)和(items及requests...阅读全文

博文 2017-07-23 22:56:26 debian.cn

Ruby 2.5.0 稳定版发布

#14123] 逆序打印(从旧到新)调用跟踪和错误消息。当在终端(TTY)中用较长的调用跟踪信息时,你可以从最底部看到直接触发问题的行。需要注意的是,仅当在直接到终端时,才会逆序打印。[功能 #8661] [试验性] 性能提升 通过在字节码中移除了全部 trace 指令提升了大约 5-10% 的性能。trace 指令的引入是为了提供 TracePoint的支持。然而,在大多数情况,TracePoint 不会被用到,trace 指令增加了额外的开销。作为替代,我们实现了一个动态指令技术,详情见 [功能 #14104]。 通过懒惰 Proc 分配使 block 参数传递代码块(例如 def foo(&b); bar(&b); end)的性能相较于 Ruby 2.4 提升了约 3 倍。[功能...阅读全文

博文 2017-12-25 21:59:41 debian.cn

五种绕过 Linux 命令别名的方法

意一种方法来运行被 bash shell 别名绕过的命令。让我们先定义一个别名,用于本文的测试样例: alias mount='mount | column -t' 运行 mount 命令,样例如下: sysfs on /sys type sysfs (rw,relatime) proc on /proc type proc (rw,relatime) udev on /dev type devtmpfs (rw,nosuid,relatime,size=949632k,nr_inodes=237408,mode=755) devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on...阅读全文

博文 2018-03-08 13:33:02 debian.cn