普通视图

发现新文章,点击刷新页面。
昨天以前ryank231231.blog

Looking for the next approach

作者 ryank231231
2021年9月10日 15:52

说实话,对 Miyako 这种类型的女生完全没有抵抗力……与外表相衬的安静、甜美性格,不服输抑或是坚强的内心,不做作,不轻浮。从略微冰山到小鸟依人。可惜这样的女生在现实中并没有多少吧……即便如此,我依旧选择努力做一个在现实中能配上这样的女生的人。只因你若盛开,蝴蝶自来。

Technical notes

作者 ryank231231
2021年7月18日 21:54

*nix

UNIX Time Sharing System - UNIX分时系统翻译
PipeBench *nix管道性能测试
KDE 的显示桌面扩展
Linux 特殊权限 SUID,SGID,SBIT
Linux 中 systemd 的日志管理 ——journalctl | Winddoing's Notes
Linux下Shell的for循环语句
Cygwin系列(十):折腾终端1
【qemu-kvm & libvirt系列】libvirt问题集合
ebpf & bcc 中文教程及手册
x86 软路由配置 IPv6 踩坑小记
https://gnu-linux.readthedocs.io/zh/latest/index.html
教程:BootToGecko系统虚机与实机开发环境搭建及FirefoxOS设备使用和开发网站推荐

ZFS

使用 zfsnap 为 zfs 自动创建快照
blog/solaris/ZFSZpoolFragmentationMeaning
Testing Native ZFS Encryption Speed (20.10) – Medo's Home Page

C (pp)

C++ 字符串与字符数组 详解
C语言结构体初始化的四种方法
CMake 教程 | CMake 从入门到应用
现代 C++ 教程:高速上手 C++ 11/14/17/20
[C/C++]字模的解析(视频)

Python

第53天: Python 线程池 - 纯洁的微笑博客
ThreadPoolExecutor线程池

FxxkDRM

DLsite PlayDRM: Explained

Hardware

现代处理器结构
坑苦了操作系统的x86处理器到底哪里难做
助你美梦成真的力量——SHARP x68000简介
PC-98 overview
PC-98 PC98mate introduction
Branch predictor: How many "if"s are too many? Including x86 and M1 benchmarks!
MorphCore微架构——(搬运)
超越传感器极限——普通相机实现像素摇摇乐(Pixel Shift)

M$

Excel incorrectly assumes that the year 1900 is a leap year - Office | Microsoft Docs
为何M$的Excel中将1900年认定为闰年——兼容性。

SONY

Temp root exploit via CVE-2019-2215 including magisk setup [Locked BL]
Temp root exploit to backup drm keys implemented
XperiFirm ~ Xperia Firmware Downloader [v5.6.1]

逆向

(CHS)MSVC++ 逆向(一) —— 异常处理
(CHS)MSVC++ 逆向(二)—— 类、方法和 RTTI
IDA Pro - 使用IDA Pro逆向C++程序
IDA-创建结构体
X86指令混淆之函数分析和代码块粉碎
现代逆向教程

Kirkiri (2) \ Z

吉里吉里2相关的一些引用资料
Kirikiri 集成 Steamworks
探究 kirikiri 引擎的存档文件 .ksd / .kdt 内容格式(解析)和存档机制
http://kaede-software.com/krlm/plugin/

Windows

Windows Server 2003 Build 3790 源码编译资料-1
Windows Server 2003 Build 3790 源码编译资料-2
Windows Server 2003 Build 3790 源码编译资料-3 Winlogon
打开 Windows 10 Mobile 烧屏保护功能的方法
https://rentry.co/build-win2k3
https://devblogs.microsoft.com/oldnewthing/
https://www.zhihu.com/question/423026424/answer/1496198020

UserJS

LINE Sticker Donwload

WM PDA

Some resource for HP hx4700
HaRET - Htc-linux
PDA Software
https://web.archive.org/web/20060218054438/http://corecodec.org/frs/?group_id=53&release_id=222#r222
https://ja.osdn.net/projects/sfnet_htcuniversal/releases/

Blog

Typecho开启PHP8支持及配置
Typecho的fastcgi_cache缓存插件

计算机领域的三个重要思想:抽象,分层和高阶
https://www.hpl.hp.com/hpjournal/journal.html
HP Proliant DL360p Gen8 服务器6pin风扇接口定义及检测/欺骗主板的方法
https://pkgstats.archlinux.de/fun
https://tech.sina.com.cn/other/2003-05-20/1634189053.shtml

关于Windows 10 的内存压缩

作者 ryank231231
2020年8月3日 21:17

简而言之,它就相当于 Linux 的 ZRAM。

就是在原来分页系统加了一层。当内存不够的时候,分页系统会把不常使用的页保存到磁盘,然后设置该页不存在,下次访问的时候会触发缺页异常,异常处理再从磁盘加载保存的页面数据,重新分配物理页面。
有内存压缩,就是把要置换出去的分页先压缩内存,不保存到磁盘了。缺页的时候从内存压缩中解压,这样显然比磁盘快很多。当内存继续不够的时候,可以把压缩页保存到磁盘,比不压缩保存的数据更少,也更快。而且内存的压缩率往往很高,1:0.5不成问题,那么32g就可以当64g用了。
或许有人会关心效率问题,这个内存压缩的核心还是分页机制,分页系统可以筛选出不常用的页,因此性能是没多大影响的。
https://www.zhihu.com/question/37644704/answer/74889488

6f90d47agw1ex8fozup8pj20o40irtcg.jpg

One of the primary goals of any operating system is to manage and
share resources efficiently. 任何操作系统的主要目标之一就是高效地管理和共享资源。

In Windows 10, we enabled the Memory Manager (MM) to compress
infrequently-accessed memory pages which reduces the amount of reads
and writes to the disk (pagefile) and therefore improves
responsiveness.
在 Windows 10 中,我们使内存管理器(Memory Manager,
MM)能够压缩不常用的内存分页来减少对硬盘(页面文件)的读写,从而提高系统响应速度。
内存管理器并不是这个版本才有的东西,它在这个版本中新增了功能。

There’s a single system store for legacy Windows desktop apps or any
other non-UWP app memory usage, and then one store for each Windows
Runtime app (in order to enable trimming and swapping accordingly).
所有的 Windows 桌面应用和非 UWP 应用共享一个储存区,而每个 UWP 应用都有其独立的储存区(以启用清除和交换功能)。
这句是说系统里有多个储存区,一个是给所有桌面程序的,其它的每个对应一个 UWP 应用,因为它们可以完整地保存和恢复。

since the system process holds the stores in memory, its working set
grows larger exactly when memory is being made available to other
processes
因为 System 进程在内存中保存着所有的储存区,所以在内存被压缩并对其它程序可用的时候,它本身的工作集也增大了。

This will reduce the amount of time spent waiting for IO on all
devices, but it will also improve the expected lifespan of systems
featuring flash-based hard drives. 对所有设备来说,这将减少 IO
等待的时间,而对于使用闪存的设备来说,这还能提高它们的预期寿命。 这里的 systems featuring flash-based
hard drives 是指设备,和前面的 all devices 相对。

Though compression affords the OS more space in memory for a given
application load, paging to disk may still be necessary.
虽然压缩能让系统在开启同样多的程序时拥有更多的可用内存,但这并不是说硬盘上的页面文件就不需要了。

MM simply decompresses the page and puts it back in the requesting
process’s working set MM 只需将对应的分页解压并放回对应进程的工作集中

最后: fault: [n] 中断,绝对不是故障
https://bgm.tv/group/topic/312159

135649bxikb4ce9occ2ico.png
如果你的Win10系统用一些优化软件优化过的话可能会导致内存页合并/压缩功能以及应用程序预读被阉割
对高端配置来说阉割内存压缩功能是好事,但是对低端配置/老机来说可能就是灾难,比如前两年一些千元以下的Atom核心平板电脑。
2G容量的LPDDR3-1600(待机时自动阉割成LPDDR3-866)确实很慢,但是eMMC拿来换页实在太慢了。

检查是不是被阉割以及怎么接回去的方法见上图。首先得打开管理员权限的Powershell。
Get-MMAgent命令查看状态。
我这个系统是祖传Win10 1709,所以ApplicationLaunchPrefetching和OperationAPI为False是正常现象。

ApplicationPreLaunch是应用程序预启动,对应参数是-apl
MemoryCompression是内存压缩,对应参数是-mc
PageCombining是页合并,对应参数是-pc
ApplicationLaunchPrefetching是应用程序启动预取,参数-alp
OperationAPI是操作API,参数-oa(建议不要动的好)

被阉割了想接回去就用Enable-MMAgent命令加参数
想要阉割就用Disable-MMAgent命令加参数
命令和参数中间有个半角空格。
施展刀法之后用Get-MMAgent命令查看状态。
MMAgent是受Superfetch服务控制的。所以要正常使用内存压缩和页合并功能绝对不能阉割Superfetch服务。
https://www.chiphell.com/thread-1960127-1-1.html

❌
❌