Каков размер подкачки по умолчанию?

Как установщик вычисляет, какой размер раздела подкачки нужно создать? Предположительно, он основан на установленном размере оперативной памяти, но зависит ли это от того, сколько оперативной памяти?

15
задан 24 June 2011 в 12:51

20 ответов

На установочном компакт-диске Ubuntu по умолчанию нет программы dphys-swapfile, и она не используется для вычисления размера подкачки.

Случается, что установщик ubiquity использует скрипты partman-auto и файлы конфигурации (называемые рецептами) для определения размеров всех разделов. Он работает следующим образом:

Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь. Там он находит минимальный и максимальный размер раздела и его приоритет. Для swap это может быть 96 (min - в MB) 512 (приоритет) 300% (макс.). Затем он получает размер оперативной памяти (через /proc/meminfo). Он использует собственный алгоритм для расчета размеров.

recipes

Файл рецепта может выглядеть так:

1 1 1 free
    $iflabel{ gpt }
    method{ biosgrub } .

500 10000 -1 $default_filesystem
    $lvmok{ }
    method{ format }
    format{ }
    mountpoint{ / } .

96 512 300% linux-swap
    $lvmok{ }
    method{ swap }
    format{ } .

Алгоритм вычисления размеров: [!d14 ]

for(i=1;i<=N;i++) {
   factor[i] = priority[i] - min[i];
}
ready = FALSE;
while (! ready) {
   minsum = min[1] + min[2] + ... + min[N];
   factsum = factor[1] + factor[2] + ... + factor[N];
   ready = TRUE;
   for(i=1;i<=N;i++) {
      x = min[i] + (free_space - minsum) * factor[i] / factsum;
      if (x > max[i])
         x = max[i];
      if (x != min[i]) {
         ready = FALSE;
         min[i] = x;
      }
   }
}

Подробнее см.:

Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь. http: // dev.blankonlinux.or.id/browser/pattimura/ubiquity/di/source/partman-auto/lib/recipes.sh?rev=pattimura%2Cubiquity%2C261 DEAD LINK
5
ответ дан 25 May 2018 в 20:08
  • 1
    Интересные дебаты: лучшая ссылка, чем странный дебианский сайт? – enzotib 24 June 2011 в 23:31
  • 2
    Ну, я тоже это обнаружил, когда искал его, но в пакете есть «Предупреждение: этот пакет предназначен для использования только при создании образов debian-installer. Не устанавливайте его в обычной системе Ubuntu. & Quot ;. Я предположил, что это не было использовано, поэтому я искал и нашел код для dphys-swapfile & gt;: - D Hmm действительно интересно. – Rinzwind 24 June 2011 в 23:49
  • 3
    @enzotib: почему странно? – arrange 24 June 2011 в 23:56
  • 4
    @arrange: странно, потому что не официальный сайт ubuntu, а также как сайт debian не кажется официальным. – enzotib 25 June 2011 в 01:09
  • 5
    Я нашел еще 2 метода вычисления размера подкачки D: этот метод использует grep ^ Mem: / proc / meminfo или если это 0 grep ^ MemTotal: / proc / meminfo, а затем умножается на 2 (по умолчанию) или 3 (большинство из них установлено на 300%) с минимальной архитектурой. В mipsel-sb1-bcm91250a используется фиксированный 512. i386-efi использует 200%. – Rinzwind 25 June 2011 в 02:35

На установочном компакт-диске Ubuntu по умолчанию нет программы dphys-swapfile, и она не используется для вычисления размера подкачки.

Случается, что установщик ubiquity использует скрипты partman-auto и файлы конфигурации (называемые рецептами) для определения размеров всех разделов. Он работает следующим образом:

Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь. Там он находит минимальный и максимальный размер раздела и его приоритет. Для swap это может быть 96 (min - в MB) 512 (приоритет) 300% (макс.). Затем он получает размер оперативной памяти (через /proc/meminfo). Он использует собственный алгоритм для расчета размеров.

recipes

Файл рецепта может выглядеть так:

1 1 1 free $iflabel{ gpt } method{ biosgrub } . 500 10000 -1 $default_filesystem $lvmok{ } method{ format } format{ } mountpoint{ / } . 96 512 300% linux-swap $lvmok{ } method{ swap } format{ } .

Алгоритм вычисления размеров:

for(i=1;i<=N;i++) { factor[i] = priority[i] - min[i]; } ready = FALSE; while (! ready) { minsum = min[1] + min[2] + ... + min[N]; factsum = factor[1] + factor[2] + ... + factor[N]; ready = TRUE; for(i=1;i<=N;i++) { x = min[i] + (free_space - minsum) * factor[i] / factsum; if (x > max[i]) x = max[i]; if (x != min[i]) { ready = FALSE; min[i] = x; } } }

Подробнее см.:

Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь. http: // dev.blankonlinux.or.id/browser/pattimura/ubiquity/di/source/partman-auto/lib/recipes.sh?rev=pattimura%2Cubiquity%2C261 DEAD LINK
5
ответ дан 25 July 2018 в 21:40

На установочном компакт-диске Ubuntu по умолчанию нет dphys-swapfile , и он не используется для вычисления размера swap .

Что бывает, что установщик ubiquity использует скрипты partman-auto и файлы конфигурации (называемые рецептами) для определения размеров всех разделов. Он работает следующим образом:

  • Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь.
  • Там он находит минимальное и максимальное размер раздела и его приоритет. Для swap это может быть 96 (мин - в МБ) 512 (приоритет) 300% (макс.).
  • Затем он получает размер ОЗУ (через / proc / memkey ).
  • Он использует собственный алгоритм для вычисления размеров.

Подробности:

Файл рецепта может выглядеть так: это:

  1 ​​1 1 бесплатный метод $ iflabel {gpt} {biosgrub}.  500 10000 -1 $ default_filesystem $ lvmok {} method {format} format {} mountpoint {/}.  96 512 300% linux-swap $ lvmok {} метод {swap} format {}.   

Алгоритм вычисления размеров:

  для (i = 1; i & lt; = N; i ++) {factor [i] = priority [i  ] - мини];  } ready = FALSE;  while (! ready) {minsum = min [1] + min [2] + ... + min [N];  factum = factor [1] + factor [2] + ... + factor [N];  ready = TRUE;  для (i = 1; i & lt; = N; i ++) {x = min [i] + (free_space - minsum) * factor [i] / factum;  если (x & gt; max [i]) x = max [i];  if (x! = min [i]) {ready = FALSE;  min [i] = x;  }}}  

Подробнее см.

5
ответ дан 31 July 2018 в 10:40

На установочном компакт-диске Ubuntu по умолчанию нет программы dphys-swapfile, и она не используется для вычисления размера подкачки.

Случается, что установщик ubiquity использует скрипты partman-auto и файлы конфигурации (называемые рецептами) для определения размеров всех разделов. Он работает следующим образом:

Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь. Там он находит минимальный и максимальный размер раздела и его приоритет. Для swap это может быть 96 (min - в MB) 512 (приоритет) 300% (макс.). Затем он получает размер оперативной памяти (через /proc/meminfo). Он использует собственный алгоритм для расчета размеров.

recipes

Файл рецепта может выглядеть так:

1 1 1 free $iflabel{ gpt } method{ biosgrub } . 500 10000 -1 $default_filesystem $lvmok{ } method{ format } format{ } mountpoint{ / } . 96 512 300% linux-swap $lvmok{ } method{ swap } format{ } .

Алгоритм вычисления размеров:

for(i=1;i<=N;i++) { factor[i] = priority[i] - min[i]; } ready = FALSE; while (! ready) { minsum = min[1] + min[2] + ... + min[N]; factsum = factor[1] + factor[2] + ... + factor[N]; ready = TRUE; for(i=1;i<=N;i++) { x = min[i] + (free_space - minsum) * factor[i] / factsum; if (x > max[i]) x = max[i]; if (x != min[i]) { ready = FALSE; min[i] = x; } } }

Подробнее см.:

Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь. http: // dev.blankonlinux.or.id/browser/pattimura/ubiquity/di/source/partman-auto/lib/recipes.sh?rev=pattimura%2Cubiquity%2C261 DEAD LINK
5
ответ дан 31 July 2018 в 11:44

На установочном компакт-диске Ubuntu по умолчанию нет программы dphys-swapfile, и она не используется для вычисления размера подкачки.

Случается, что установщик ubiquity использует скрипты partman-auto и файлы конфигурации (называемые рецептами) для определения размеров всех разделов. Он работает следующим образом:

Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь. Там он находит минимальный и максимальный размер раздела и его приоритет. Для swap это может быть 96 (min - в MB) 512 (приоритет) 300% (макс.). Затем он получает размер оперативной памяти (через /proc/meminfo). Он использует собственный алгоритм для расчета размеров.

recipes

Файл рецепта может выглядеть так:

1 1 1 free $iflabel{ gpt } method{ biosgrub } . 500 10000 -1 $default_filesystem $lvmok{ } method{ format } format{ } mountpoint{ / } . 96 512 300% linux-swap $lvmok{ } method{ swap } format{ } .

Алгоритм вычисления размеров:

for(i=1;i<=N;i++) { factor[i] = priority[i] - min[i]; } ready = FALSE; while (! ready) { minsum = min[1] + min[2] + ... + min[N]; factsum = factor[1] + factor[2] + ... + factor[N]; ready = TRUE; for(i=1;i<=N;i++) { x = min[i] + (free_space - minsum) * factor[i] / factsum; if (x > max[i]) x = max[i]; if (x != min[i]) { ready = FALSE; min[i] = x; } } }

Подробнее см.:

Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь. http: // dev.blankonlinux.or.id/browser/pattimura/ubiquity/di/source/partman-auto/lib/recipes.sh?rev=pattimura%2Cubiquity%2C261 DEAD LINK
5
ответ дан 2 August 2018 в 03:16

На установочном компакт-диске Ubuntu по умолчанию нет dphys-swapfile , и он не используется для вычисления размера swap .

Что бывает, что установщик ubiquity использует скрипты partman-auto и файлы конфигурации (называемые рецептами) для определения размеров всех разделов. Он работает следующим образом:

  • Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь.
  • Там он находит минимальное и максимальное размер раздела и его приоритет. Для swap это может быть 96 (мин - в МБ) 512 (приоритет) 300% (макс.).
  • Затем он получает размер ОЗУ (через / proc / memkey ).
  • Он использует собственный алгоритм для вычисления размеров.

Подробности:

Файл рецепта может выглядеть так: это:

  1 ​​1 1 бесплатный метод $ iflabel {gpt} {biosgrub}.  500 10000 -1 $ default_filesystem $ lvmok {} method {format} format {} mountpoint {/}.  96 512 300% linux-swap $ lvmok {} метод {swap} format {}.   

Алгоритм вычисления размеров:

  для (i = 1; i & lt; = N; i ++) {factor [i] = priority [i  ] - мини];  } ready = FALSE;  while (! ready) {minsum = min [1] + min [2] + ... + min [N];  factum = factor [1] + factor [2] + ... + factor [N];  ready = TRUE;  для (i = 1; i & lt; = N; i ++) {x = min [i] + (free_space - minsum) * factor [i] / factum;  если (x & gt; max [i]) x = max [i];  if (x! = min [i]) {ready = FALSE;  min [i] = x;  }}}  

Подробнее см.

5
ответ дан 4 August 2018 в 19:11

На установочном компакт-диске Ubuntu по умолчанию нет программы dphys-swapfile, и она не используется для вычисления размера подкачки.

Случается, что установщик ubiquity использует скрипты partman-auto и файлы конфигурации (называемые рецептами) для определения размеров всех разделов. Он работает следующим образом:

Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь. Там он находит минимальный и максимальный размер раздела и его приоритет. Для swap это может быть 96 (min - в MB) 512 (приоритет) 300% (макс.). Затем он получает размер оперативной памяти (через /proc/meminfo). Он использует собственный алгоритм для расчета размеров.

recipes

Файл рецепта может выглядеть так:

1 1 1 free $iflabel{ gpt } method{ biosgrub } . 500 10000 -1 $default_filesystem $lvmok{ } method{ format } format{ } mountpoint{ / } . 96 512 300% linux-swap $lvmok{ } method{ swap } format{ } .

Алгоритм вычисления размеров:

for(i=1;i<=N;i++) { factor[i] = priority[i] - min[i]; } ready = FALSE; while (! ready) { minsum = min[1] + min[2] + ... + min[N]; factsum = factor[1] + factor[2] + ... + factor[N]; ready = TRUE; for(i=1;i<=N;i++) { x = min[i] + (free_space - minsum) * factor[i] / factsum; if (x > max[i]) x = max[i]; if (x != min[i]) { ready = FALSE; min[i] = x; } } }

Подробнее см.:

Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь. http: // dev.blankonlinux.or.id/browser/pattimura/ubiquity/di/source/partman-auto/lib/recipes.sh?rev=pattimura%2Cubiquity%2C261 DEAD LINK
5
ответ дан 6 August 2018 в 03:27

На установочном компакт-диске Ubuntu по умолчанию нет dphys-swapfile , и он не используется для вычисления размера swap .

Что бывает, что установщик ubiquity использует скрипты partman-auto и файлы конфигурации (называемые рецептами) для определения размеров всех разделов. Он работает следующим образом:

  • Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь.
  • Там он находит минимальное и максимальное размер раздела и его приоритет. Для swap это может быть 96 (мин - в МБ) 512 (приоритет) 300% (макс.).
  • Затем он получает размер ОЗУ (через / proc / memkey ).
  • Он использует собственный алгоритм для вычисления размеров.

Подробности:

Файл рецепта может выглядеть так: это:

  1 ​​1 1 бесплатный метод $ iflabel {gpt} {biosgrub}.  500 10000 -1 $ default_filesystem $ lvmok {} method {format} format {} mountpoint {/}.  96 512 300% linux-swap $ lvmok {} метод {swap} format {}.   

Алгоритм вычисления размеров:

  для (i = 1; i & lt; = N; i ++) {factor [i] = priority [i  ] - мини];  } ready = FALSE;  while (! ready) {minsum = min [1] + min [2] + ... + min [N];  factum = factor [1] + factor [2] + ... + factor [N];  ready = TRUE;  для (i = 1; i & lt; = N; i ++) {x = min [i] + (free_space - minsum) * factor [i] / factum;  если (x & gt; max [i]) x = max [i];  if (x! = min [i]) {ready = FALSE;  min [i] = x;  }}}  

Подробнее см.

5
ответ дан 7 August 2018 в 21:15

На установочном компакт-диске Ubuntu по умолчанию нет dphys-swapfile , и он не используется для вычисления размера swap .

Что бывает, что установщик ubiquity использует скрипты partman-auto и файлы конфигурации (называемые рецептами) для определения размеров всех разделов. Он работает следующим образом:

  • Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь.
  • Там он находит минимальное и максимальное размер раздела и его приоритет. Для swap это может быть 96 (мин - в МБ) 512 (приоритет) 300% (макс.).
  • Затем он получает размер ОЗУ (через / proc / memkey ).
  • Он использует собственный алгоритм для вычисления размеров.

Подробности:

Файл рецепта может выглядеть так: это:

  1 ​​1 1 бесплатный метод $ iflabel {gpt} {biosgrub}.  500 10000 -1 $ default_filesystem $ lvmok {} method {format} format {} mountpoint {/}.  96 512 300% linux-swap $ lvmok {} метод {swap} format {}.   

Алгоритм вычисления размеров:

  для (i = 1; i & lt; = N; i ++) {factor [i] = priority [i  ] - мини];  } ready = FALSE;  while (! ready) {minsum = min [1] + min [2] + ... + min [N];  factum = factor [1] + factor [2] + ... + factor [N];  ready = TRUE;  для (i = 1; i & lt; = N; i ++) {x = min [i] + (free_space - minsum) * factor [i] / factum;  если (x & gt; max [i]) x = max [i];  if (x! = min [i]) {ready = FALSE;  min [i] = x;  }}}  

Подробнее см.

5
ответ дан 10 August 2018 в 09:33

На установочном компакт-диске Ubuntu по умолчанию нет dphys-swapfile , и он не используется для вычисления размера swap .

Что бывает, что установщик ubiquity использует скрипты partman-auto и файлы конфигурации (называемые рецептами) для определения размеров всех разделов. Он работает следующим образом:

  • Partman находит правильный файл рецепта в соответствии с типом компьютера и опцией, которую выбрал пользователь.
  • Там он находит минимальное и максимальное размер раздела и его приоритет. Для swap это может быть 96 (мин - в МБ) 512 (приоритет) 300% (макс.).
  • Затем он получает размер ОЗУ (через / proc / memkey ).
  • Он использует собственный алгоритм для вычисления размеров.

Подробности:

Файл рецепта может выглядеть так: это:

  1 ​​1 1 бесплатный метод $ iflabel {gpt} {biosgrub}.  500 10000 -1 $ default_filesystem $ lvmok {} method {format} format {} mountpoint {/}.  96 512 300% linux-swap $ lvmok {} метод {swap} format {}.   

Алгоритм вычисления размеров:

  для (i = 1; i & lt; = N; i ++) {factor [i] = priority [i  ] - мини];  } ready = FALSE;  while (! ready) {minsum = min [1] + min [2] + ... + min [N];  factum = factor [1] + factor [2] + ... + factor [N];  ready = TRUE;  для (i = 1; i & lt; = N; i ++) {x = min [i] + (free_space - minsum) * factor [i] / factum;  если (x & gt; max [i]) x = max [i];  if (x! = min [i]) {ready = FALSE;  min [i] = x;  }}}  

Подробнее см.

5
ответ дан 13 August 2018 в 15:43
  • 1
    Интересные дебаты: лучшая ссылка, чем странный дебианский сайт? – enzotib 24 June 2011 в 23:31
  • 2
    Ну, я тоже это обнаружил, когда искал его, но в пакете есть «Предупреждение: этот пакет предназначен для использования только при создании образов debian-installer. Не устанавливайте его в обычной системе Ubuntu. & Quot ;. Я предположил, что это не было использовано, поэтому я искал и нашел код для dphys-swapfile & gt;: - D Hmm действительно интересно. – Rinzwind 24 June 2011 в 23:49
  • 3
    @enzotib: почему странно? – arrange 24 June 2011 в 23:56
  • 4
    @arrange: странно, потому что не официальный сайт ubuntu, а также как сайт debian не кажется официальным. – enzotib 25 June 2011 в 01:09
  • 5
    Я нашел еще 2 метода вычисления размера подкачки D: этот метод использует grep ^ Mem: / proc / meminfo или если это 0 grep ^ MemTotal: / proc / meminfo, а затем умножается на 2 (по умолчанию) или 3 (большинство из них установлено на 300%) с минимальной архитектурой. В mipsel-sb1-bcm91250a используется фиксированный 512. i386-efi использует 200%. – Rinzwind 25 June 2011 в 02:35

Это будет довольно технично, но было интересно узнать, вот так вот ...

Я нашел пакет dphys-swapfile и вот исходный код. Опция setup используется для ее настройки: setup - tells dphys-swapfile to compute the optimal swap file size and (re-)generate an fitting swap file. Default it 2 times RAM size. This can be called at boot time, so the file allways stays the right size for current RAM, or run by hand whenever RAM size has changed. Я нашел пакет dphys-swapfile и вот исходный код. Опция setup используется для ее настройки: size we want to force it to be, default (empty) gives 2*RAM CONF_SWAPSIZE=

и настройка для swapfactor ...

this is what we want, 2 times RAM size
SWAPFACTOR=2
Фактический размер немногочисленный далее: if [ "${CONF_SWAPSIZE}" = "" ] ; then # compute automatic optimal size echo -n "computing size, " # this seems to be the nearest to physical RAM size, lacks about 60k KCORESIZE="`ls -l /proc/kcore | awk '{ print $5 }'`" # make MBytes which rounded down will be exactly 1 too few, so add 1 MEMSIZE="`expr "${KCORESIZE}" / 1048576 + 1`" # default, without config file overwriding, swap=2*RAM CONF_SWAPSIZE="`expr "${MEMSIZE}" '*' "${SWAPFACTOR}"`" fi

Как вы можете видеть, как они вычисляют его в этом пакете, зависит от размера /proc/kcore, затем делится на 1048576, +1, чтобы округлить его и затем умножается на swapfactor. С моей машины:

Таким образом, по умолчанию для этой системы будет 1065349120/1048576 = 1015 + 1 = 1016 * 2 = 2032 Мбайт.

19
ответ дан 25 May 2018 в 20:08

Это будет довольно технично, но было интересно узнать, вот так вот ...

Я нашел пакет dphys-swapfile и вот исходный код. Опция setup используется для ее настройки: setup - tells dphys-swapfile to compute the optimal swap file size and (re-)generate an fitting swap file. Default it 2 times RAM size. This can be called at boot time, so the file allways stays the right size for current RAM, or run by hand whenever RAM size has changed. Я нашел пакет dphys-swapfile и вот исходный код. Опция setup используется для ее настройки: size we want to force it to be, default (empty) gives 2*RAM CONF_SWAPSIZE=

и настройка для swapfactor ...

this is what we want, 2 times RAM size SWAPFACTOR=2 Фактический размер немногочисленный далее: if [ "${CONF_SWAPSIZE}" = "" ] ; then # compute automatic optimal size echo -n "computing size, " # this seems to be the nearest to physical RAM size, lacks about 60k KCORESIZE="`ls -l /proc/kcore | awk '{ print $5 }'`" # make MBytes which rounded down will be exactly 1 too few, so add 1 MEMSIZE="`expr "${KCORESIZE}" / 1048576 + 1`" # default, without config file overwriding, swap=2*RAM CONF_SWAPSIZE="`expr "${MEMSIZE}" '*' "${SWAPFACTOR}"`" fi

Как вы можете видеть, как они вычисляют его в этом пакете, зависит от размера /proc/kcore, затем делится на 1048576, +1, чтобы округлить его и затем умножается на swapfactor. С моей машины:

Таким образом, по умолчанию для этой системы будет 1065349120/1048576 = 1015 + 1 = 1016 * 2 = 2032 Мбайт.

19
ответ дан 25 July 2018 в 21:40

Это будет довольно технично, но было интересно узнать, вот так вот ...

Я нашел пакет dphys-swapfile и вот исходный код. Опция setup используется для ее настройки: setup - tells dphys-swapfile to compute the optimal swap file size and (re-)generate an fitting swap file. Default it 2 times RAM size. This can be called at boot time, so the file allways stays the right size for current RAM, or run by hand whenever RAM size has changed. Я нашел пакет dphys-swapfile и вот исходный код. Опция setup используется для ее настройки: size we want to force it to be, default (empty) gives 2*RAM CONF_SWAPSIZE=

и настройка для swapfactor ...

this is what we want, 2 times RAM size SWAPFACTOR=2 Фактический размер немногочисленный далее: if [ "${CONF_SWAPSIZE}" = "" ] ; then # compute automatic optimal size echo -n "computing size, " # this seems to be the nearest to physical RAM size, lacks about 60k KCORESIZE="`ls -l /proc/kcore | awk '{ print $5 }'`" # make MBytes which rounded down will be exactly 1 too few, so add 1 MEMSIZE="`expr "${KCORESIZE}" / 1048576 + 1`" # default, without config file overwriding, swap=2*RAM CONF_SWAPSIZE="`expr "${MEMSIZE}" '*' "${SWAPFACTOR}"`" fi

Как вы можете видеть, как они вычисляют его в этом пакете, зависит от размера /proc/kcore, затем делится на 1048576, +1, чтобы округлить его и затем умножается на swapfactor. С моей машины:

Таким образом, по умолчанию для этой системы будет 1065349120/1048576 = 1015 + 1 = 1016 * 2 = 2032 Мбайт.

19
ответ дан 31 July 2018 в 10:40

Это будет довольно технично, но было интересно узнать, вот так вот ...

Я нашел пакет dphys-swapfile и вот исходный код. Опция setup используется для ее настройки: setup - tells dphys-swapfile to compute the optimal swap file size and (re-)generate an fitting swap file. Default it 2 times RAM size. This can be called at boot time, so the file allways stays the right size for current RAM, or run by hand whenever RAM size has changed. Я нашел пакет dphys-swapfile и вот исходный код. Опция setup используется для ее настройки: size we want to force it to be, default (empty) gives 2*RAM CONF_SWAPSIZE=

и настройка для swapfactor ...

this is what we want, 2 times RAM size SWAPFACTOR=2 Фактический размер немногочисленный далее: if [ "${CONF_SWAPSIZE}" = "" ] ; then # compute automatic optimal size echo -n "computing size, " # this seems to be the nearest to physical RAM size, lacks about 60k KCORESIZE="`ls -l /proc/kcore | awk '{ print $5 }'`" # make MBytes which rounded down will be exactly 1 too few, so add 1 MEMSIZE="`expr "${KCORESIZE}" / 1048576 + 1`" # default, without config file overwriding, swap=2*RAM CONF_SWAPSIZE="`expr "${MEMSIZE}" '*' "${SWAPFACTOR}"`" fi

Как вы можете видеть, как они вычисляют его в этом пакете, зависит от размера /proc/kcore, затем делится на 1048576, +1, чтобы округлить его и затем умножается на swapfactor. С моей машины:

Таким образом, по умолчанию для этой системы будет 1065349120/1048576 = 1015 + 1 = 1016 * 2 = 2032 Мбайт.

19
ответ дан 31 July 2018 в 11:44

Это будет довольно технично, но было интересно узнать, вот так вот ...

Я нашел пакет dphys-swapfile и вот исходный код. Опция setup используется для ее настройки: setup - tells dphys-swapfile to compute the optimal swap file size and (re-)generate an fitting swap file. Default it 2 times RAM size. This can be called at boot time, so the file allways stays the right size for current RAM, or run by hand whenever RAM size has changed. Я нашел пакет dphys-swapfile и вот исходный код. Опция setup используется для ее настройки: size we want to force it to be, default (empty) gives 2*RAM CONF_SWAPSIZE=

и настройка для swapfactor ...

this is what we want, 2 times RAM size SWAPFACTOR=2 Фактический размер немногочисленный далее: if [ "${CONF_SWAPSIZE}" = "" ] ; then # compute automatic optimal size echo -n "computing size, " # this seems to be the nearest to physical RAM size, lacks about 60k KCORESIZE="`ls -l /proc/kcore | awk '{ print $5 }'`" # make MBytes which rounded down will be exactly 1 too few, so add 1 MEMSIZE="`expr "${KCORESIZE}" / 1048576 + 1`" # default, without config file overwriding, swap=2*RAM CONF_SWAPSIZE="`expr "${MEMSIZE}" '*' "${SWAPFACTOR}"`" fi

Как вы можете видеть, как они вычисляют его в этом пакете, зависит от размера /proc/kcore, затем делится на 1048576, +1, чтобы округлить его и затем умножается на swapfactor. С моей машины:

Таким образом, по умолчанию для этой системы будет 1065349120/1048576 = 1015 + 1 = 1016 * 2 = 2032 Мбайт.

19
ответ дан 2 August 2018 в 03:16

Это будет довольно технично, но было интересно узнать, вот так вот ...

Я нашел пакет dphys-swapfile и вот исходный код. Опция setup используется для ее настройки: setup - tells dphys-swapfile to compute the optimal swap file size and (re-)generate an fitting swap file. Default it 2 times RAM size. This can be called at boot time, so the file allways stays the right size for current RAM, or run by hand whenever RAM size has changed. Я нашел пакет dphys-swapfile и вот исходный код. Опция setup используется для ее настройки: size we want to force it to be, default (empty) gives 2*RAM CONF_SWAPSIZE=

и настройка для swapfactor ...

this is what we want, 2 times RAM size SWAPFACTOR=2 Фактический размер немногочисленный далее: if [ "${CONF_SWAPSIZE}" = "" ] ; then # compute automatic optimal size echo -n "computing size, " # this seems to be the nearest to physical RAM size, lacks about 60k KCORESIZE="`ls -l /proc/kcore | awk '{ print $5 }'`" # make MBytes which rounded down will be exactly 1 too few, so add 1 MEMSIZE="`expr "${KCORESIZE}" / 1048576 + 1`" # default, without config file overwriding, swap=2*RAM CONF_SWAPSIZE="`expr "${MEMSIZE}" '*' "${SWAPFACTOR}"`" fi

Как вы можете видеть, как они вычисляют его в этом пакете, зависит от размера /proc/kcore, затем делится на 1048576, +1, чтобы округлить его и затем умножается на swapfactor. С моей машины:

Таким образом, по умолчанию для этой системы будет 1065349120/1048576 = 1015 + 1 = 1016 * 2 = 2032 Мбайт.

19
ответ дан 4 August 2018 в 19:11

Это будет довольно технично, но было интересно узнать, вот так вот ...

Я нашел пакет dphys-swapfile и вот исходный код. Опция setup используется для ее настройки: setup - tells dphys-swapfile to compute the optimal swap file size and (re-)generate an fitting swap file. Default it 2 times RAM size. This can be called at boot time, so the file allways stays the right size for current RAM, or run by hand whenever RAM size has changed. Я нашел пакет dphys-swapfile и вот исходный код. Опция setup используется для ее настройки: size we want to force it to be, default (empty) gives 2*RAM CONF_SWAPSIZE=

и настройка для swapfactor ...

this is what we want, 2 times RAM size SWAPFACTOR=2 Фактический размер немногочисленный далее: if [ "${CONF_SWAPSIZE}" = "" ] ; then # compute automatic optimal size echo -n "computing size, " # this seems to be the nearest to physical RAM size, lacks about 60k KCORESIZE="`ls -l /proc/kcore | awk '{ print $5 }'`" # make MBytes which rounded down will be exactly 1 too few, so add 1 MEMSIZE="`expr "${KCORESIZE}" / 1048576 + 1`" # default, without config file overwriding, swap=2*RAM CONF_SWAPSIZE="`expr "${MEMSIZE}" '*' "${SWAPFACTOR}"`" fi

Как вы можете видеть, как они вычисляют его в этом пакете, зависит от размера /proc/kcore, затем делится на 1048576, +1, чтобы округлить его и затем умножается на swapfactor. С моей машины:

Таким образом, по умолчанию для этой системы будет 1065349120/1048576 = 1015 + 1 = 1016 * 2 = 2032 Мбайт.

19
ответ дан 6 August 2018 в 03:27

Это будет довольно технично, но было бы интересно узнать, вот так вот ...

  • Я нашел пакет dphys-swapfile , и вот Исходный код . Параметр setup используется для его настройки:
 setup - сообщает dphys-swapfile для вычисления оптимального размера файла подкачки и (повторного) создания файла подгонки подкачки  ,  По умолчанию он имеет 2 раза размер оперативной памяти.  Это можно вызывать во время загрузки, поэтому файл всегда остается нужного размера для текущей ОЗУ или запускается вручную при изменении размера ОЗУ. 
  • Внутри dphys-swapfile является настройкой conf_swapsize для предварительно определенного размера (в Natty это пусто):
 размер, который мы хотим заставить это быть, по умолчанию (пусто)  дает 2 * RAM CONF_SWAPSIZE = 

и настройку для swapfactor ...

  это то, что мы хотим, в 2 раза RAM-размер SWAPFACTOR  = 2  
  • Фактический размер вычисляется немного дальше: if ["$ {CONF_SWAPSIZE}" = ""]; затем # вычислить автоматический оптимальный размер echo -n «вычислительный размер», # это кажется ближайшим к размеру физической RAM, не хватает около 60k KCORESIZE = "` ls -l / proc / kcore | awk '{print $ 5}' `" # make MBytes, которые округлены вниз, будет в точности равным 1, поэтому добавьте 1 MEMSIZE = "` expr "$ {KCORESIZE}" / 1048576 + 1` "# по умолчанию, без перезаписывания конфигурационного файла, swap = 2 * RAM CONF_SWAPSIZE =" ` expr "$ {MEMSIZE}" '*' "$ {SWAPFACTOR}" `" fi

Как вы можете видеть, как они вычисляют его в этом пакете, зависит размер / proc / kcore , затем делится на 1048576, +1, чтобы округлить его, а затем умножается на swapfactor. С моей машины:

enter image description here [!d8]

Таким образом, по умолчанию для этой системы будет 1065349120/1048576 = 1015 + 1 = 1016 * 2 = 2032 Мбайт.

19
ответ дан 7 August 2018 в 21:15

Это будет довольно технично, но было бы интересно узнать, вот так вот ...

  • Я нашел пакет dphys-swapfile , и вот Исходный код . Параметр setup используется для его настройки:
 setup - сообщает dphys-swapfile для вычисления оптимального размера файла подкачки и (повторного) создания файла подгонки подкачки  ,  По умолчанию он имеет 2 раза размер оперативной памяти.  Это можно вызывать во время загрузки, поэтому файл всегда остается нужного размера для текущей ОЗУ или запускается вручную при изменении размера ОЗУ. 
  • Внутри dphys-swapfile является настройкой conf_swapsize для предварительно определенного размера (в Natty это пусто):
 размер, который мы хотим заставить это быть, по умолчанию (пусто)  дает 2 * RAM CONF_SWAPSIZE = 

и настройку для swapfactor ...

  это то, что мы хотим, в 2 раза RAM-размер SWAPFACTOR  = 2  
  • Фактический размер вычисляется немного дальше: if ["$ {CONF_SWAPSIZE}" = ""]; затем # вычислить автоматический оптимальный размер echo -n «вычислительный размер», # это кажется ближайшим к размеру физической RAM, не хватает около 60k KCORESIZE = "` ls -l / proc / kcore | awk '{print $ 5}' `" # make MBytes, которые округлены вниз, будет в точности равным 1, поэтому добавьте 1 MEMSIZE = "` expr "$ {KCORESIZE}" / 1048576 + 1` "# по умолчанию, без перезаписывания конфигурационного файла, swap = 2 * RAM CONF_SWAPSIZE =" ` expr "$ {MEMSIZE}" '*' "$ {SWAPFACTOR}" `" fi

Как вы можете видеть, как они вычисляют его в этом пакете, зависит размер / proc / kcore , затем делится на 1048576, +1, чтобы округлить его, а затем умножается на swapfactor. Из моей машины:

enter image description here [!d8]

Таким образом, по умолчанию для этой системы будет 1065349120/1048576 = 1015 + 1 = 1016 * 2 = 2032 Мбайт.

19
ответ дан 10 August 2018 в 09:33

Это будет довольно технично, но было бы интересно узнать, вот так вот ...

  • Я нашел пакет dphys-swapfile , и вот Исходный код . Параметр setup используется для его настройки:
 setup - сообщает dphys-swapfile для вычисления оптимального размера файла подкачки и (повторного) создания файла подгонки подкачки  ,  По умолчанию он имеет 2 раза размер оперативной памяти.  Это можно вызывать во время загрузки, поэтому файл всегда остается нужного размера для текущей ОЗУ или запускается вручную при изменении размера ОЗУ. 
  • Внутри dphys-swapfile является настройкой conf_swapsize для предварительно определенного размера (в Natty это пусто):
 размер, который мы хотим заставить это быть, по умолчанию (пусто)  дает 2 * RAM CONF_SWAPSIZE = 

и настройку для swapfactor ...

  это то, что мы хотим, в 2 раза RAM-размер SWAPFACTOR  = 2  
  • Фактический размер вычисляется немного дальше: if ["$ {CONF_SWAPSIZE}" = ""]; затем # вычислить автоматический оптимальный размер echo -n «вычислительный размер», # это кажется ближайшим к размеру физической RAM, не хватает около 60k KCORESIZE = "` ls -l / proc / kcore | awk '{print $ 5}' `" # make MBytes, которые округлены вниз, будет в точности равным 1, поэтому добавьте 1 MEMSIZE = "` expr "$ {KCORESIZE}" / 1048576 + 1` "# по умолчанию, без перезаписывания конфигурационного файла, swap = 2 * RAM CONF_SWAPSIZE =" ` expr "$ {MEMSIZE}" '*' "$ {SWAPFACTOR}" `" fi

Как вы можете видеть, как они вычисляют его в этом пакете, зависит размер / proc / kcore , затем делится на 1048576, +1, чтобы округлить его, а затем умножается на swapfactor. Из моей машины:

enter image description here [!d8]

Таким образом, по умолчанию для этой системы будет 1065349120/1048576 = 1015 + 1 = 1016 * 2 = 2032 Мбайт.

19
ответ дан 13 August 2018 в 15:43

Другие вопросы по тегам:

Похожие вопросы: