国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 操作系統(tǒng) > 正文

怎樣一條命令,榨干機器的所有內(nèi)存?

2024-06-09 16:59:46
字體:
供稿:網(wǎng)友
最近在驗證一些機器的內(nèi)存分配規(guī)律的時候,學(xué)習(xí)到了一些技能,趁著周末有時候?qū)扅c東西,跟大家分享一下。
 
大家可能有遇到類似的場景,想要對機器進行壓測模擬 OOM 的場景,但是無奈機器的規(guī)格實在太高,若用代碼去實現(xiàn),大家可以想象一下如何實現(xiàn)?個人感覺還是有點麻煩的。
 
那么有沒有好有的辦法,不用寫代碼,用幾個簡單的命令直接就可以向機器申請內(nèi)存呢?或者更極端點,直接把機器的內(nèi)存給榨干了。。
 
若你經(jīng)常使用 linux,你會發(fā)現(xiàn) df -Th 后,一定會有 tmpfs 類型的文件系統(tǒng)掛載在 /dev/shm 下面,雖然你大概率不會關(guān)注到它。
如果你想用完機器的所有內(nèi)存,完全可以在 mount 的時候,指定 size 為機器的內(nèi)存大小,但你要清楚你在做什么,否則執(zhí)行完 dd ,你的機器可能就掛了。
 
利用上面這個方法,其實還可以做更多的事情,比如你在機器你有兩個 NUMA Node ,但你只想占用 NUMA Node 0 的內(nèi)存,那就可以指定 NUMA Node 0 的內(nèi)存,怎么辦呢?
 
首先利用 lscpu 找到 NUMA Node 0 上的所有 cpu 核
 
$ node0_cpus=$(lscpu | grep "NUMA node0" | awk '{print $NF}')
然后使用 taskset 工具加 -c 參數(shù)來指定對應(yīng)的 cpu 核來執(zhí)行創(chuàng)建 tmpfs 目錄和 dd  的過程
 
$ cat > /root/mem_alloc.sh <<EOF  
#!/bin/bash  
tmpdir=`mktemp`  
mount -t tmpfs -o size=1024M tmpfs ${tmpdir}  
dd if=/dev/zero of=${tmpdir}/block  
EOF  
$ taskset -c "${node0_cpus}" sh /root/mem_alloc.sh  
執(zhí)行完成后,如果你所占用的內(nèi)存,沒有超過 NUMA Node 0 的本地內(nèi)存,那么你使用 numactl 就會發(fā)現(xiàn)上面命令都只占用了 NUMA Node0 的內(nèi)存。

(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 遂平县| 临沭县| 昌平区| 克东县| 绥阳县| 新龙县| 江陵县| 周至县| 友谊县| 五峰| 乌审旗| 怀宁县| 万年县| 革吉县| 中山市| 中西区| 临汾市| 茂名市| 麦盖提县| 谷城县| 萨迦县| 黄骅市| 彭泽县| 土默特左旗| 芷江| 山丹县| 乌拉特中旗| 肃南| 台中县| 读书| 会理县| 大姚县| 滁州市| 稻城县| 仙游县| 禹州市| 望城县| 内乡县| 开远市| 洞口县| 潜江市|