Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Apakah maksud memori fizikal linux?

Apakah maksud memori fizikal linux?

青灯夜游
青灯夜游asal
2023-03-02 10:30:072520semak imbas

Di Linux, memori fizikal merujuk kepada saiz memori yang disediakan oleh perkakasan sistem, iaitu memori sebenar. Pengurusan memori Linux menggunakan mekanisme capaian paging Untuk memastikan memori fizikal boleh digunakan sepenuhnya, kernel secara automatik akan menukar blok data yang jarang digunakan dalam memori fizikal ke dalam memori maya pada masa yang sesuai, dan blok data yang kerap digunakan akan ditukar secara automatik. ke dalam ingatan maya pada masa yang sesuai Maklumat disimpan dalam ingatan fizikal.

Apakah maksud memori fizikal linux?

Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.

Memori maya dan ingatan fizikal dalam Linux


Kita semua tahu bahawa membaca dan menulis data terus daripada ingatan adalah lebih pantas daripada membaca dan menulis data daripada cakera keras. Oleh itu, adalah lebih baik semua bacaan dan penulisan data dilengkapkan dalam ingatan Walau bagaimanapun, ingatan adalah terhad, yang membawa kepada konsep ingatan fizikal dan ingatan maya.

Memori fizikal ialah saiz memori yang disediakan oleh perkakasan sistem, iaitu memori sebenar. Berbanding dengan ingatan fizikal, terdapat juga konsep ingatan maya di bawah Linux Memori maya adalah strategi yang dicadangkan untuk memenuhi kekurangan memori fizikal Ia adalah sekeping memori logik secara maya dengan menggunakan ruang cakera. Ruang cakera yang digunakan sebagai memori maya dipanggil ruang swap (juga dikenali sebagai ruang swap).

Sebagai lanjutan memori fizikal, Linux akan menggunakan memori maya partition swap apabila memori fizikal tidak mencukupi Secara lebih khusus, kernel akan menulis maklumat blok memori yang tidak digunakan secara sementara ke ruang swap , memori fizikal dilepaskan, dan memori ini boleh digunakan untuk tujuan lain Apabila kandungan asal diperlukan, maklumat akan dibaca semula dari ruang swap ke dalam memori fizikal.

Pengurusan memori Linux menggunakan mekanisme akses paging Untuk memastikan memori fizikal boleh digunakan sepenuhnya, kernel akan menukar blok data yang jarang digunakan dalam memori fizikal secara automatik pada masa yang sesuai, sambil mengekalkan kerap maklumat yang digunakan untuk ingatan fizikal.

Untuk mempunyai pemahaman yang mendalam tentang mekanisme pengendalian memori Linux, anda perlu mengetahui aspek berikut:

  • Pertama sekali, sistem Linux akan melaksanakan operasi pertukaran halaman dari semasa ke semasa untuk mengekalkan Sebanyak mungkin memori fizikal percuma, walaupun tiada apa yang memerlukan memori, Linux akan menukar halaman memori yang tidak digunakan buat sementara waktu, kerana ini boleh menjimatkan masa yang diperlukan untuk menunggu pertukaran.

  • Kedua, pertukaran halaman Linux adalah bersyarat Tidak semua halaman ditukar kepada memori maya apabila tidak digunakan Kernel Linux hanya menukar beberapa halaman yang tidak digunakan berdasarkan "terbaru digunakan". Fail halaman yang kerap digunakan ditukar ke dalam memori maya.

Kadang-kadang kita akan melihat fenomena sebegini Linux masih mempunyai banyak memori fizikal, tetapi banyak ruang swap juga digunakan. Sebagai contoh, apabila proses yang menduduki banyak sumber memori menggunakan banyak sumber memori semasa ia berjalan, beberapa fail halaman yang jarang digunakan akan ditukar kepada memori maya, tetapi kemudiannya proses yang menduduki banyak sumber memori berakhir dan banyak memori dikeluarkan Pada masa ini, fail halaman yang baru ditukar tidak akan ditukar secara automatik ke dalam memori fizikal (melainkan jika perlu), maka memori fizikal sistem akan menjadi lebih bebas pada masa ini, dan pertukaran ruang juga sedang digunakan, dan masalah yang baru disebut muncul.

Akhirnya, halaman dalam ruang swap mula-mula akan ditukar kepada memori fizikal apabila digunakan Jika tidak ada memori fizikal yang mencukupi untuk menampung halaman ini pada masa ini, ia akan ditukar dengan serta-merta. memori maya Mungkin tidak ada ruang yang cukup dalam sistem untuk menyimpan halaman swap ini, yang akhirnya akan membawa kepada ranap sistem Linux, keabnormalan perkhidmatan dan masalah lain. Walaupun Linux boleh memulihkan dirinya dalam tempoh masa, sistem yang dipulihkan pada dasarnya tidak boleh digunakan.

Oleh itu, adalah sangat penting untuk merancang dan mereka bentuk penggunaan memori Linux dengan betul Mengenai tetapan saiz memori fizikal dan ruang swap, ia bergantung pada saiz cakera keras sebenar yang digunakan, tetapi secara amnya mengikut prinsip asas ini. :

  • Jika memori kecil (mengikut pengalaman, memori fizikal kurang daripada 4GB), secara amnya tetapkan saiz partition swap kepada 2 kali ganda memori;

  • Jika memori fizikal Jika saiz memori lebih besar daripada 4GB dan kurang daripada 16GB, anda boleh menetapkan saiz partition swap sama dengan memori fizikal; saiz memori adalah lebih daripada 16GB, anda boleh menetapkan swap kepada 0, tetapi ini tidak disyorkan kerana tetapan A partition swap saiz tertentu mempunyai kesan tertentu.
  • Sistem Linux untuk melihat penggunaan memori

Dalam sistem pengendalian Windows dan Linux dengan GUI, kami biasanya boleh menggunakan UI untuk melihat Memori sistem dan penggunaan ruang, tetapi untuk pembangunan atau operasi dan kakitangan penyelenggaraan, yang sering perlu bekerja pada pelayan Linux tanpa GUI, baris arahan boleh menyediakan lebih banyak fungsi dan fleksibiliti daripada GUI.

Terutama apabila aplikasi dalam sistem kami tidak normal, atau penggunaan sistem tidak normal, atau pembangunan Linux memerlukan pemangkasan memori, kami perlu memahami memori sistem dan penggunaan ruang, dan kami perlu menguasai beberapa View yang biasa digunakan alatan.


Perintah biasa

1 Semak memori sistem percuma

boleh memaparkan saiz memori yang tidak digunakan dan digunakan bagi sistem semasa, dan juga boleh memaparkan penimbal memori yang digunakan oleh kernel. Masukkan free dalam terminal (parameter akan diterangkan kemudian) untuk melihat status memori pelayan kami, seperti berikut: free
Apakah maksud memori fizikal linux?

1.1 The penerangan terperinci adalah seperti berikut:

Mem: maklumat penggunaan memori
Tukar: tukar maklumat penggunaan ruang

jumlah: Jumlah saiz memori fizikal.
digunakan: Memori fizikal telah digunakan.
percuma: Memori fizikal tersedia.
dikongsi: Jumlah jumlah memori yang dikongsi oleh berbilang proses.
penampan/cache: Penampan cache menggunakan saiz memori fizikal.
tersedia: Saiz memori fizikal yang juga boleh digunakan oleh aplikasi.

1.2 Hubungan antara ingatan fizikal

jumlah = terpakai + percuma + penimbal/cache
avaiable = percuma + buffer/cache(Ini secara amnya benar, dan ini berlaku untuk komputer peribadi, tetapi jika pengguna biasa pelayan atau awan awam mempunyai beberapa penimbal/cache yang tidak boleh digunakan, mereka akan mempunyai

1.3 Perbezaan antara percuma dan tersedia

percuma ialah memori yang tidak digunakan
tersedia ialah memori yang aplikasi anggap tersedia Untuk meningkatkan prestasi baca dan tulis, Linux menggunakan sebahagian daripada sumber memori sebagai memori cache atau penimbal Dari perspektif kernel, bahagian
buffer/cache ini adalah milik Memori yang telah digunakan; apabila aplikasi menggunakan memori dan memori percuma tidak mencukupi, kernel akan menuntut semula penimbal dan cache untuk memenuhi keperluan memori aplikasi.

Perbezaan antara 1.4buff dan cache

Terdapat perbezaan tertentu antara penimbal dan cache:

    Penampan ialah sesuatu yang masih belum "ditulis" ke cakera -cache tulis penimbal, apabila data disimpan, ia mula-mula disimpan ke penimbal cakera dan kemudian ditulis ke ruang kekal
  • Cache ialah sesuatu. yang telah "reed" daripada cakera dan disimpan untuk kegunaan kemudian. --cache read cache. Selepas data dibaca daripada cakera, ia disimpan sementara dalam penimbal untuk menyediakan penggunaan seterusnya oleh program.

1.5 perihalan parameter percuma

Unit yang dipaparkan di bawah arahan percuma ialah k, anda boleh menambah -m selepas percuma (iaitu.

) Unit paparan ialah Mb, seperti yang ditunjukkan di bawah: free -m
Apakah maksud memori fizikal linux? Anda boleh melihat arahan terperinci percuma melalui
: free --help
Apakah maksud memori fizikal linux?

Anda boleh secara automatik menggunakan unit Padanan -h percuma yang sesuai untuk tabiat membaca orang, di mana h bermaksud

kemanusiaan.

ps: Baris 3
swap ialah partition swap, serupa dengan memori maya dalam sistem Windows Apabila memori tidak mencukupi, sebahagian daripada hard ruang cakera dimayakan ke dalam penggunaan memori, dengan itu menyelesaikan masalah kapasiti memori yang tidak mencukupi.

2 Semak memori yang diduduki oleh proses

    Arahan teratas boleh melihat keseluruhan operasi secara dinamik sistem dalam masa nyata , ialah alat praktikal yang menyepadukan prestasi sistem pemantauan maklumat berbilang pihak dan maklumat operasi. Perintah teratas boleh menemui kecacatan sistem dengan berkesan, seperti memori yang tidak mencukupi, kuasa pemprosesan CPU yang tidak mencukupi dan membaca dan menulis IO yang berlebihan. Antara muka interaktif yang disediakan oleh arahan atas boleh diurus menggunakan kekunci panas.
  • Sintaks berkaitan:
    top -X
-b:以批处理模式操作;
-c:显示完整的治命令;
-d:屏幕刷新间隔时间;
-I:忽略失效过程;
-s:保密模式;
-S:累积模式;
-i<时间>:设置间隔时间;
-u<用户名>:指定用户名;
-p<进程号>:指定进程;
-n<次数>:循环显示的次数。
    Beberapa arahan interaktif yang boleh digunakan semasa pelaksanaan arahan atas. Arahan ini adalah satu huruf, dan sebahagian daripadanya mungkin disekat jika pilihan -s digunakan pada baris arahan. Perintah interaktif adalah seperti berikut:
h:显示帮助画面,给出一些简短的命令总结说明;
k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令;
q:退出程序;
r:重新安排一个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目;
o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中。
  • Masukkan arahan atas terus dalam terminal, anda boleh melihat antara muka berikut

Apakah maksud memori fizikal linux?

2.1 top命令的第一到第五行的详细说明如下:

top - 10:14:31 当前系统时间
up 3 days, 22:36 系统已经运行了3天22h36min
1 users 共有1个用户为登录状态
load average: 0.57, 0.74, 0.65 系统负载,即任务队列的平均长度,load average后面的三个数字分别表示距离现在一分钟,五分钟,十五分钟的负载情况。
注意:load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

Tasks: 322 total 总进程数
2 running 正在运行的进程数
320 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 冻结进程数
%Cpu(s): 2.7 us, 用户空间占用CPU百分比(用户态使用CPU占比)
2.7 sy 内核空间占用CPU百分比 (系统态使用CPU占比)
0.0 ni 用做nice加权的进程分配的用户态cpu时间比
94.0 id 空闲的cpu时间比
0.0 wa IO wait ,cpu等待磁盘写入完成时间
0.0 hi Hardware IRQ,硬中断消耗时间
0.0 si Software IRQ,软中断消耗时间
0.7 st 被hypervisor(管理程序,一般为服务器或者虚拟机)偷取时间
MiB Mem : 11995.2 total 物理内存总量,单位:Mb
360.9 free 空闲内存总量
6766.0 used 使用的物理内存总量,此处需要注意的是:used实际指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。
4868.3+buff/cache 用作内核缓存的内存量
MiB Swap: 7680.0 total 交换区总量
7433.1 free 空闲交换区总量
246.9 used 使用的交换区总量
3665.4 avail Mem 在不交换的情况下,对启动新应用程序可用内存的估计
(网上也有说法是交换区的可用容量)
top命令第六行为空。
top命令第七行是各个进程的监控:

从左到右依次为:

PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)

需要注意的是,此界面显示的并不是所有进程,由于页面显示限制仅仅显示了这几行,我们可以通过top -b -n 1查看系统的所有进程的快照。

3查看内核占用内存

命令:cat /proc/meminfo
Apakah maksud memori fizikal linux?

注:initrd和初始化代码init在引导完成之后会被释放掉,所以最终的内核可管理内存(total)会比dmesg显示的available更多一点,相应的源代码可参见: free_initrd_mem() 和 free_initmem()。
优化可以主要从优化保留内存和优化used内存两个方面进行,具体的需要结合代码。
查看磁盘命令比较多,最常用的为: df -lh 命令

4 lsmod查看驱动占用内存

命令:lsmod
Apakah maksud memori fizikal linux?

  • 功能:
    列出已加载的模块,以友好的方式显示/proc/modules的内容
  • 格式:
    第一列:Module表示模块的名称,如sysDebug
    第二列:Size表示模块大小,单位:byte
    第三列:Used 表示依赖的模块个数
    第四列:by表示依赖的模块内容
  • 示例:
    lsmod|grep -i ext3 //查看当前系统是否加载ext3驱动模块

相关推荐:《Linux视频教程

Atas ialah kandungan terperinci Apakah maksud memori fizikal linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Apakah maksud echo dalam linux?Artikel seterusnya:Apakah maksud echo dalam linux?