swapon.2 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. .\" Copyright (c) 1980, 1991, 1993
  2. .\" The Regents of the University of California. All rights reserved.
  3. .\"
  4. .\" Redistribution and use in source and binary forms, with or without
  5. .\" modification, are permitted provided that the following conditions
  6. .\" are met:
  7. .\" 1. Redistributions of source code must retain the above copyright
  8. .\" notice, this list of conditions and the following disclaimer.
  9. .\" 2. Redistributions in binary form must reproduce the above copyright
  10. .\" notice, this list of conditions and the following disclaimer in the
  11. .\" documentation and/or other materials provided with the distribution.
  12. .\" 3. Neither the name of the University nor the names of its contributors
  13. .\" may be used to endorse or promote products derived from this software
  14. .\" without specific prior written permission.
  15. .\"
  16. .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  17. .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  18. .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  19. .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  20. .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  21. .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  22. .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  23. .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  24. .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  25. .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  26. .\" SUCH DAMAGE.
  27. .\"
  28. .Dd December 8, 2021
  29. .Dt SWAPON 2
  30. .Os
  31. .Sh NAME
  32. .Nm swapon , swapoff
  33. .Nd control devices for interleaved paging/swapping
  34. .Sh LIBRARY
  35. .Lb libc
  36. .Sh SYNOPSIS
  37. .It vm/vm_param.h
  38. .It vm/swap_pager.h
  39. .In unistd.h
  40. .Ft int
  41. .Fn swapon "const char *special"
  42. .Ft int
  43. .Fn swapoff "const char *special" "u_int flags"
  44. .Sh DESCRIPTION
  45. The
  46. .Fn swapon
  47. system call
  48. makes the block device
  49. .Fa special
  50. available to the system for
  51. allocation for paging and swapping.
  52. The names of potentially
  53. available devices are known to the system and defined at system
  54. configuration time.
  55. The size of the swap area on
  56. .Fa special
  57. is calculated at the time the device is first made available
  58. for swapping.
  59. .Pp
  60. The
  61. .Fn swapoff
  62. system call disables paging and swapping on the given device.
  63. All associated swap metadata are deallocated, and the device
  64. is made available for other purposes.
  65. .Pp
  66. The
  67. .Fa special
  68. argument points to the name of the device or file used for swapping.
  69. .The
  70. .Va flags
  71. argument takes the following flags:
  72. .Bl -tag -width SWAPOFF_FORCE
  73. .It Dv SWAPOFF_FORCE
  74. Overrides a very conservative check that prevents swapoff
  75. if the total amount of free memory and remaining swap
  76. devices space might be unsufficient for the system to continue
  77. operating.
  78. .El
  79. .Sh RETURN VALUES
  80. If an error has occurred, a value of -1 is returned and
  81. .Va errno
  82. is set to indicate the error.
  83. .Sh ERRORS
  84. Both
  85. .Fn swapon
  86. and
  87. .Fn swapoff
  88. can fail if:
  89. .Bl -tag -width Er
  90. .It Bq Er ENOTDIR
  91. A component of the path prefix is not a directory.
  92. .It Bq Er ENAMETOOLONG
  93. A component of a pathname exceeded 255 characters,
  94. or an entire path name exceeded 1023 characters.
  95. .It Bq Er ENOENT
  96. The named device does not exist.
  97. .It Bq Er EACCES
  98. Search permission is denied for a component of the path prefix.
  99. .It Bq Er ELOOP
  100. Too many symbolic links were encountered in translating the pathname.
  101. .It Bq Er EPERM
  102. The caller is not the super-user.
  103. .It Bq Er EFAULT
  104. The
  105. .Fa special
  106. argument
  107. points outside the process's allocated address space.
  108. .El
  109. .Pp
  110. Additionally,
  111. .Fn swapon
  112. can fail for the following reasons:
  113. .Bl -tag -width Er
  114. .It Bq Er ENOTBLK
  115. The
  116. .Fa special
  117. argument
  118. is not a block device.
  119. .It Bq Er EBUSY
  120. The device specified by
  121. .Fa special
  122. has already
  123. been made available for swapping
  124. .It Bq Er ENXIO
  125. The major device number of
  126. .Fa special
  127. is out of range (this indicates no device driver exists
  128. for the associated hardware).
  129. .It Bq Er EIO
  130. An I/O error occurred while opening the swap device.
  131. .It Bq Er EINTEGRITY
  132. Corrupted data was detected while reading from the file system to open the
  133. swap device.
  134. .El
  135. .Pp
  136. Lastly,
  137. .Fn swapoff
  138. can fail if:
  139. .Bl -tag -width Er
  140. .It Bq Er EINVAL
  141. The system is not currently swapping to
  142. .Fa special .
  143. .It Bq Er ENOMEM
  144. Not enough virtual memory is available to safely disable
  145. paging and swapping to the given device.
  146. .El
  147. .Sh SEE ALSO
  148. .Xr config 8 ,
  149. .Xr swapon 8 ,
  150. .Xr sysctl 8
  151. .Sh HISTORY
  152. The
  153. .Fn swapon
  154. system call appeared in
  155. .Bx 4.0 .
  156. The
  157. .Fn swapoff
  158. system call appeared in
  159. .Fx 5.1 .