• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Krizhanovsky Vm
 

Krizhanovsky Vm

on

  • 2,010 views

 

Statistics

Views

Total Views
2,010
Views on SlideShare
1,300
Embed Views
710

Actions

Likes
0
Downloads
35
Comments
0

6 Embeds 710

http://www.highload.ru 515
http://highload.ru 104
http://2012.highload.co 51
http://archive.highload.ru 37
http://2012.highload.ru 2
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Krizhanovsky Vm Krizhanovsky Vm Presentation Transcript

    • Управление виртуальной памятью в Linux/x86-64 Александр Крижановский
    • Disclaimer
      • Только о Linux на x86-64
      • В основном про адресацию и пэйджинг
      • Не будет buddy alocator , slab allocator и пр.
    • Содержание
      • Что такое виртуальная память вообще (краткий экскурс)
      • Управление памятью в Linux
      • Виртуальная память, адресация и пэйджинг в x86-64
      • Хак
    • VM (Overview)
      • Изоляция адресных пространств процессов
      • Все процессы в системе «видят» памяти больше, чем есть на самом деле
      • Виртуальность последовательности адресов
      • Трансляция адресов ( Page Table )
    • VM (LRU Page Replacement) add free
    • VM: поэтому...
      • Когда мало RAM
      • LRU (Least Recently Used) вытеснение в бэкграунде
      • Page cache (файлы) и anonymous pages (куча)
      • Page cache может выжрать всю память — это нормально...
      • ...поэтому важны clean pages и dirty pages...
      • ... поэтому не верьте free(1) и top(1) RES
      • /proc/meminfo (active, inactive ?; pmap не показывает a/i)
    • VM (kernel threads)
      • kupdate (normal dirty pages synchronizer)
      • pdflush (page cache?, memory is under presure)
      • kswapd (anonymous areas?)
    • X86-64: 48 bit printf(«%#p», addr); $ 0x7fffffffe784
      • +2 байта на каждый поинтер
    • Page table
    • Кэширование (TLB)
    • Page Table Management
      • Контрольные регистры
    • Page Table в NUMA (1)
      • AMD Operon MP
      • IBM x3950
    • Page Table в NUMA (2)
      • Контрольные регистры
      • AMD Operons and IBM x3950 (also NUMA)
      • numactl/numastat
    • Хак: дерево деревянное
    • Хак: что такое Page Fault
    • Хак: exception handling
    • Хак: быстро, просто...
    • Хак: ...тяжело
    • Ссылки
      • «AMD64 Architecture Programmer's Manual. Vol. 2: System Programming»
      • Joerg Pommnitz, «Kernel Level Exception Handling in Linux 2.1.8», linux/Documentation/exception.txt
      • Mel Gorman, «Understanding The Linux Virtual Memory Manger», 2004.
      • Юреш Вахалия, «UNIX изнутри», 2003
      • linux/mm, linux/arch etc.