Well, we’ve been discussing our swap partitioning the last few days at work, and I finally got around to implementing it. Again, it proved to be kinda hard, basically because AutoYAST decides to do things differently. After trying different things, I came up with this:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
| <rule>
<memsize>
<match>32767</match>
<match_type>greater</match_type>
</memsize>
<result>
<profile>system/swap/32G.xml</profile>
<continue config:type="boolean">false</continue>
<dont_merge config:type="list">
<element>partition</element>
</dont_merge>
</result>
</rule>
<rule>
<memsize>
<match>16383</match>
<match_type>greater</match_type>
</memsize>
<result>
<profile>system/swap/16G.xml</profile>
<continue config:type="boolean">false</continue>
<dont_merge config:type="list">
<element>partition</element>
</dont_merge>
</result>
</rule>
<rule>
<memsize>
<match>8191</match>
<match_type>greater</match_type>
</memsize>
<result>
<profile>system/swap/8G.xml</profile>
<continue config:type="boolean">false</continue>
<dont_merge config:type="list">
<element>partition</element>
</dont_merge>
</result>
</rule>
<rule>
<memsize>
<match>4095</match>
<match_type>greater</match_type>
</memsize>
<result>
<profile>system/swap/4G.xml</profile>
<continue config:type="boolean">false</continue>
<dont_merge config:type="list">
<element>partition</element>
</dont_merge>
</result>
</rule>
<rule>
<memsize>
<match>2047</match>
<match_type>greater</match_type>
</memsize>
<result>
<profile>system/swap/2G.xml</profile>
<continue config:type="boolean">false</continue>
<dont_merge config:type="list">
<element>partition</element>
</dont_merge>
</result>
</rule>
<rule>
<memsize>
<match>1023</match>
<match_type>greater</match_type>
</memsize>
<result>
<profile>system/swap/1G.xml</profile>
<continue config:type="boolean">false</continue>
<dont_merge config:type="list">
<element>partition</element>
</dont_merge>
</result>
</rule>
<rule>
<memsize>
<match>1023</match>
<match_type>lower</match_type>
</memsize>
<result>
<profile>system/swap/default.xml</profile>
<continue config:type="boolean">false</continue>
<dont_merge config:type="list">
<element>partition</element>
</dont_merge>
</result>
</rule>
|
The content of a profile looks like this:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <partitioning config:type="list">
<drive>
<partitions config:type="list">
<partition>
<create config:type="boolean">true</create>
<crypt_fs config:type="boolean">false</crypt_fs>
<filesystem config:type="symbol">swap</filesystem>
<filesystem_id config:type="integer">130</filesystem_id>
<format config:type="boolean">true</format>
<loop_fs config:type="boolean">false</loop_fs>
<mount>swap</mount>
<mountby config:type="symbol">device</mountby>
<partition_id config:type="integer">130</partition_id>
<partition_nr config:type="integer">2</partition_nr>
<resize config:type="boolean">false</resize>
<size>16G</size>
</partition>
</partitions>
</drive>
</partitioning>
|
So basically what I did, was creating different classes, and depending on the size of the available RAM, AutoYAST selects the profile.