Print this page
3830 SIGQUEUE_MAX's limit of 32 is too low
Reviewed by: Cedric Blancher <cedric.blancher@gmail.com>
Reviewed by: John Kennedy <john.kennedy@delphix.com>
Reviewed by: Irek Szczesniak <iszczesniak@gmail.com>
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/man/man5/resource_controls.5
+++ new/usr/src/man/man5/resource_controls.5
1 1 '\" te
2 2 .\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
3 3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
4 4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
5 5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 -.TH RESOURCE_CONTROLS 5 "Jul 2, 2007"
6 +.TH RESOURCE_CONTROLS 5 "Jul 19, 2013"
7 7 .SH NAME
8 8 resource_controls \- resource controls available through project database
9 9 .SH DESCRIPTION
10 10 .sp
11 11 .LP
12 12 The resource controls facility is configured through the project database. See
13 13 \fBproject\fR(4). You can set and modify resource controls through the
14 14 following utilities:
15 15 .RS +4
16 16 .TP
17 17 .ie t \(bu
18 18 .el o
19 19 \fBprctl\fR(1)
20 20 .RE
21 21 .RS +4
22 22 .TP
23 23 .ie t \(bu
24 24 .el o
25 25 \fBprojadd\fR(1M)
26 26 .RE
27 27 .RS +4
28 28 .TP
29 29 .ie t \(bu
30 30 .el o
31 31 \fBprojmod\fR(1M)
32 32 .RE
33 33 .RS +4
34 34 .TP
35 35 .ie t \(bu
36 36 .el o
37 37 \fBrctladm\fR(1M)
38 38 .RE
39 39 .sp
40 40 .LP
41 41 In a program, you use \fBsetrctl\fR(2) to set resource control values.
42 42 .sp
43 43 .LP
44 44 In addition to the preceding resource controls, there are resource pools,
45 45 accessible through the \fBpooladm\fR(1M) and \fBpoolcfg\fR(1M) utilities. In a
46 46 program, resource pools can be manipulated through the \fBlibpool\fR(3LIB)
47 47 library.
48 48 .sp
49 49 .LP
50 50 The following are the resource controls are available:
51 51 .sp
52 52 .ne 2
53 53 .na
54 54 \fB\fBprocess.max-address-space\fR\fR
55 55 .ad
56 56 .sp .6
57 57 .RS 4n
58 58 Maximum amount of address space, as summed over segment sizes, that is
59 59 available to this process, expressed as a number of bytes.
60 60 .RE
61 61
62 62 .sp
63 63 .ne 2
64 64 .na
65 65 \fB\fBprocess.max-core-size\fR\fR
66 66 .ad
67 67 .sp .6
68 68 .RS 4n
69 69 Maximum size of a core file created by this process, expressed as a number of
70 70 bytes.
71 71 .RE
72 72
73 73 .sp
74 74 .ne 2
75 75 .na
76 76 \fB\fBprocess.max-cpu-time\fR\fR
77 77 .ad
78 78 .sp .6
79 79 .RS 4n
80 80 Maximum CPU time that is available to this process, expressed as a number of
81 81 seconds.
82 82 .RE
83 83
84 84 .sp
85 85 .ne 2
86 86 .na
87 87 \fB\fBprocess.max-data-size\fR\fR
88 88 .ad
89 89 .sp .6
90 90 .RS 4n
91 91 Maximum heap memory available to this process, expressed as a number of bytes.
92 92 .RE
93 93
94 94 .sp
95 95 .ne 2
96 96 .na
97 97 \fB\fBprocess.max-file-descriptor\fR\fR
98 98 .ad
99 99 .sp .6
100 100 .RS 4n
101 101 Maximum file descriptor index available to this process, expressed as an
102 102 integer.
103 103 .RE
104 104
105 105 .sp
106 106 .ne 2
107 107 .na
108 108 \fB\fBprocess.max-file-size\fR\fR
109 109 .ad
110 110 .sp .6
111 111 .RS 4n
112 112 Maximum file offset available for writing by this process, expressed as a
113 113 number of bytes.
114 114 .RE
115 115
116 116 .sp
117 117 .ne 2
118 118 .na
119 119 \fB\fBprocess.max-msg-messages\fR\fR
120 120 .ad
121 121 .sp .6
122 122 .RS 4n
123 123 Maximum number of messages on a message queue (value copied from the resource
124 124 control at \fBmsgget()\fR time), expressed as an integer.
125 125 .RE
126 126
127 127 .sp
128 128 .ne 2
129 129 .na
130 130 \fB\fBprocess.max-msg-qbytes\fR\fR
131 131 .ad
132 132 .sp .6
133 133 .RS 4n
134 134 Maximum number of bytes of messages on a message queue (value copied from the
135 135 resource control at \fBmsgget()\fR time), expressed as a number of bytes.
136 136 .RE
137 137
138 138 .sp
139 139 .ne 2
140 140 .na
141 141 \fB\fBprocess.max-port-events\fR\fR
142 142 .ad
143 143 .sp .6
144 144 .RS 4n
145 145 Maximum allowable number of events per event port, expressed as an integer.
146 146 .RE
147 147
148 148 .sp
149 149 .ne 2
150 150 .na
151 151 \fB\fBprocess.max-sem-nsems\fR\fR
152 152 .ad
153 153 .sp .6
154 154 .RS 4n
155 155 Maximum number of semaphores allowed per semaphore set, expressed as an
156 156 integer.
157 157 .RE
158 158
159 159 .sp
160 160 .ne 2
161 161 .na
162 162 \fB\fBprocess.max-sem-ops\fR\fR
163 163 .ad
↓ open down ↓ |
147 lines elided |
↑ open up ↑ |
164 164 .sp .6
165 165 .RS 4n
166 166 Maximum number of semaphore operations allowed per \fBsemop\fR call (value
167 167 copied from the resource control at \fBsemget()\fR time). Expressed as an
168 168 integer, specifying the number of operations.
169 169 .RE
170 170
171 171 .sp
172 172 .ne 2
173 173 .na
174 +\fB\fBprocess.max-sigqueue-size\fR\fR
175 +.ad
176 +.sp .6
177 +.RS 4n
178 +Maximum number of outstanding queued signals.
179 +.RE
180 +
181 +.sp
182 +.ne 2
183 +.na
174 184 \fB\fBprocess.max-stack-size\fR\fR
175 185 .ad
176 186 .sp .6
177 187 .RS 4n
178 188 Maximum stack memory segment available to this process, expressed as a number
179 189 of bytes.
180 190 .RE
181 191
182 192 .sp
183 193 .ne 2
184 194 .na
185 195 \fB\fBproject.cpu-caps\fR\fR
186 196 .ad
187 197 .sp .6
188 198 .RS 4n
189 199 Maximum amount of CPU resources that a project can use. The unit used is the
190 200 percentage of a single CPU that can be used by all user threads in a project.
191 201 Expressed as an integer. The cap does not apply to threads running in real-time
192 202 scheduling class. This resource control does not support the \fBsyslog\fR
193 203 action.
194 204 .RE
195 205
196 206 .sp
197 207 .ne 2
198 208 .na
199 209 \fB\fBproject.cpu-shares\fR\fR
200 210 .ad
201 211 .sp .6
202 212 .RS 4n
203 213 Number of CPU shares granted to a project for use with the fair share scheduler
204 214 (see \fBFSS\fR(7)). The unit used is the number of shares (an integer). This
205 215 resource control does not support the \fBsyslog\fR action.
206 216 .RE
207 217
208 218 .sp
209 219 .ne 2
210 220 .na
211 221 \fB\fBproject.max-contracts\fR\fR
212 222 .ad
213 223 .sp .6
214 224 .RS 4n
215 225 Maximum number of contracts allowed in a project, expressed as an integer.
216 226 .RE
217 227
218 228 .sp
219 229 .ne 2
220 230 .na
221 231 \fB\fBproject.max-crypto-memory\fR\fR
222 232 .ad
223 233 .sp .6
224 234 .RS 4n
225 235 Maximum amount of kernel memory that can be used for crypto operations.
226 236 Allocations in the kernel for buffers and session-related structures are
227 237 charged against this resource control.
228 238 .RE
229 239
230 240 .sp
231 241 .ne 2
232 242 .na
233 243 \fB\fBproject.max-locked-memory\fR\fR
234 244 .ad
235 245 .sp .6
236 246 .RS 4n
237 247 Total amount of physical memory locked by device drivers and user processes
238 248 (including D/ISM), expressed as a number of bytes.
239 249 .RE
240 250
241 251 .sp
242 252 .ne 2
243 253 .na
244 254 \fB\fBproject.max-lwps\fR\fR
245 255 .ad
246 256 .sp .6
247 257 .RS 4n
248 258 Maximum number of LWPs simultaneously available to a project, expressed as an
249 259 integer.
250 260 .RE
251 261
252 262 .sp
253 263 .ne 2
254 264 .na
255 265 \fB\fBproject.max-msg-ids\fR\fR
256 266 .ad
257 267 .sp .6
258 268 .RS 4n
259 269 Maximum number of message queue IDs allowed for a project, expressed as an
260 270 integer.
261 271 .RE
262 272
263 273 .sp
264 274 .ne 2
265 275 .na
266 276 \fB\fBproject.max-port-ids\fR\fR
267 277 .ad
268 278 .sp .6
269 279 .RS 4n
270 280 Maximum allowable number of event ports, expressed as an integer.
271 281 .RE
272 282
273 283 .sp
274 284 .ne 2
275 285 .na
276 286 \fB\fBproject.max-sem-ids\fR\fR
277 287 .ad
278 288 .sp .6
279 289 .RS 4n
280 290 Maximum number of semaphore IDs allowed for a project, expressed as an integer.
281 291 .RE
282 292
283 293 .sp
284 294 .ne 2
285 295 .na
286 296 \fB\fBproject.max-shm-ids\fR\fR
287 297 .ad
288 298 .sp .6
289 299 .RS 4n
290 300 Maximum number of shared memory IDs allowed for a project, expressed as an
291 301 integer.
292 302 .RE
293 303
294 304 .sp
295 305 .ne 2
296 306 .na
297 307 \fB\fBproject.max-shm-memory\fR\fR
298 308 .ad
299 309 .sp .6
300 310 .RS 4n
301 311 Total amount of shared memory allowed for a project, expressed as a number of
302 312 bytes.
303 313 .RE
304 314
305 315 .sp
306 316 .ne 2
307 317 .na
308 318 \fB\fBproject.max-tasks\fR\fR
309 319 .ad
310 320 .sp .6
311 321 .RS 4n
312 322 Maximum number of tasks allowable in a project, expressed as an integer.
313 323 .RE
314 324
315 325 .sp
316 326 .ne 2
317 327 .na
318 328 \fB\fBproject.pool\fR\fR
319 329 .ad
320 330 .sp .6
321 331 .RS 4n
322 332 Binds a specified resource pool with a project.
323 333 .RE
324 334
325 335 .sp
326 336 .ne 2
327 337 .na
328 338 \fB\fBrcap.max-rss\fR\fR
329 339 .ad
330 340 .sp .6
331 341 .RS 4n
332 342 The total amount of physical memory, in bytes, that is available to processes
333 343 in a project.
334 344 .RE
335 345
336 346 .sp
337 347 .ne 2
338 348 .na
339 349 \fB\fBtask.max-cpu-time\fR\fR
340 350 .ad
341 351 .sp .6
342 352 .RS 4n
343 353 Maximum CPU time that is available to this task's processes, expressed as a
344 354 number of seconds.
345 355 .RE
346 356
347 357 .sp
348 358 .ne 2
349 359 .na
350 360 \fB\fBtask.max-lwps\fR\fR
351 361 .ad
352 362 .sp .6
353 363 .RS 4n
354 364 Maximum number of LWPs simultaneously available to this task's processes,
355 365 expressed as an integer.
356 366 .RE
357 367
358 368 .sp
359 369 .LP
360 370 The following zone-wide resource controls are available:
361 371 .sp
362 372 .ne 2
363 373 .na
364 374 \fB\fBzone.cpu-cap\fR\fR
365 375 .ad
366 376 .sp .6
367 377 .RS 4n
368 378 Sets a limit on the amount of CPU time that can be used by a zone. The unit
369 379 used is the percentage of a single CPU that can be used by all user threads in
370 380 a zone. Expressed as an integer. When projects within the capped zone have
371 381 their own caps, the minimum value takes precedence. This resource control does
372 382 not support the \fBsyslog\fR action.
373 383 .RE
374 384
375 385 .sp
376 386 .ne 2
377 387 .na
378 388 \fB\fBzone.cpu-shares\fR\fR
379 389 .ad
380 390 .sp .6
381 391 .RS 4n
382 392 Sets a limit on the number of fair share scheduler (FSS) CPU shares for a zone.
383 393 CPU shares are first allocated to the zone, and then further subdivided among
384 394 projects within the zone as specified in the \fBproject.cpu-shares\fR entries.
385 395 Expressed as an integer. This resource control does not support the
386 396 \fBsyslog\fR action.
387 397 .RE
388 398
389 399 .sp
390 400 .ne 2
391 401 .na
392 402 \fB\fBzone.max-locked-memory\fR\fR
393 403 .ad
394 404 .sp .6
395 405 .RS 4n
396 406 Total amount of physical locked memory available to a zone.
397 407 .RE
398 408
399 409 .sp
400 410 .ne 2
401 411 .na
402 412 \fB\fBzone.max-lwps\fR\fR
403 413 .ad
404 414 .sp .6
405 415 .RS 4n
406 416 Enhances resource isolation by preventing too many LWPs in one zone from
407 417 affecting other zones. A zone's total LWPs can be further subdivided among
408 418 projects within the zone within the zone by using \fBproject.max-lwps\fR
409 419 entries. Expressed as an integer.
410 420 .RE
411 421
412 422 .sp
413 423 .ne 2
414 424 .na
415 425 \fB\fBzone.max-msg-ids\fR\fR
416 426 .ad
417 427 .sp .6
418 428 .RS 4n
419 429 Maximum number of message queue IDs allowed for a zone, expressed as an
420 430 integer.
421 431 .RE
422 432
423 433 .sp
424 434 .ne 2
425 435 .na
426 436 \fB\fBzone.max-sem-ids\fR\fR
427 437 .ad
428 438 .sp .6
429 439 .RS 4n
430 440 Maximum number of semaphore IDs allowed for a zone, expressed as an integer.
431 441 .RE
432 442
433 443 .sp
434 444 .ne 2
435 445 .na
436 446 \fB\fBzone.max-shm-ids\fR\fR
437 447 .ad
438 448 .sp .6
439 449 .RS 4n
440 450 Maximum number of shared memory IDs allowed for a zone, expressed as an
441 451 integer.
442 452 .RE
443 453
444 454 .sp
445 455 .ne 2
446 456 .na
447 457 \fB\fBzone.max-shm-memory\fR\fR
448 458 .ad
449 459 .sp .6
450 460 .RS 4n
451 461 Total amount of shared memory allowed for a zone, expressed as a number of
452 462 bytes.
453 463 .RE
454 464
455 465 .sp
456 466 .ne 2
457 467 .na
458 468 \fB\fBzone.max-swap\fR\fR
459 469 .ad
460 470 .sp .6
461 471 .RS 4n
462 472 Total amount of swap that can be consumed by user process address space
463 473 mappings and \fBtmpfs\fR mounts for this zone.
464 474 .RE
465 475
466 476 .sp
467 477 .LP
468 478 See \fBzones\fR(5).
469 479 .SS "Units Used in Resource Controls"
470 480 .sp
471 481 .LP
472 482 Resource controls can be expressed as in units of size (bytes), time (seconds),
473 483 or as a count (integer). These units use the strings specified below.
474 484 .sp
475 485 .in +2
476 486 .nf
477 487 Category Res Ctrl Modifier Scale
478 488 Type String
479 489 ----------- ----------- -------- -----
480 490 Size bytes B 1
481 491 KB 2^10
482 492 MB 2^20
483 493 GB 2^30
484 494 TB 2^40
485 495 PB 2^50
486 496 EB 2^60
487 497
488 498 Time seconds s 1
489 499 Ks 10^3
490 500 Ms 10^6
491 501 Gs 10^9
492 502 Ts 10^12
493 503 Ps 10^15
494 504 Es 10^18
495 505
496 506 Count integer none 1
497 507 K 10^3
498 508 M 10^6
499 509 G 10^9
500 510 T 10^12
501 511 P 10^15
502 512 Es 10^18
503 513 .fi
504 514 .in -2
505 515
506 516 .sp
507 517 .LP
508 518 Scaled values can be used with resource controls. The following example shows a
509 519 scaled threshold value:
510 520 .sp
511 521 .in +2
512 522 .nf
513 523 task.max-lwps=(priv,1K,deny)
514 524 .fi
515 525 .in -2
516 526
517 527 .sp
518 528 .LP
519 529 In the \fBproject\fR file, the value \fB1K\fR is expanded to \fB1000\fR:
520 530 .sp
521 531 .in +2
522 532 .nf
523 533 task.max-lwps=(priv,1000,deny)
524 534 .fi
525 535 .in -2
526 536
527 537 .sp
528 538 .LP
529 539 A second example uses a larger scaled value:
530 540 .sp
531 541 .in +2
532 542 .nf
533 543 process.max-file-size=(priv,5G,deny)
534 544 .fi
535 545 .in -2
536 546
537 547 .sp
538 548 .LP
539 549 In the \fBproject\fR file, the value \fB5G\fR is expanded to \fB5368709120\fR:
540 550 .sp
541 551 .in +2
542 552 .nf
543 553 process.max-file-size=(priv,5368709120,deny)
544 554 .fi
545 555 .in -2
546 556
547 557 .sp
548 558 .LP
549 559 The preceding examples use the scaling factors specified in the table above.
550 560 .sp
551 561 .LP
552 562 Note that unit modifiers (for example, \fB5G\fR) are accepted by the
553 563 \fBprctl\fR(1), \fBprojadd\fR(1M), and \fBprojmod\fR(1M) commands. You cannot
554 564 use unit modifiers in the project database itself.
555 565 .SS "Resource Control Values and Privilege Levels"
556 566 .sp
557 567 .LP
558 568 A threshold value on a resource control constitutes a point at which local
559 569 actions can be triggered or global actions, such as logging, can occur.
560 570 .sp
561 571 .LP
562 572 Each threshold value on a resource control must be associated with a privilege
563 573 level. The privilege level must be one of the following three types:
564 574 .sp
565 575 .ne 2
566 576 .na
567 577 \fB\fBbasic\fR\fR
568 578 .ad
569 579 .sp .6
570 580 .RS 4n
571 581 Can be modified by the owner of the calling process.
572 582 .RE
573 583
574 584 .sp
575 585 .ne 2
576 586 .na
577 587 \fB\fBprivileged\fR\fR
578 588 .ad
579 589 .sp .6
580 590 .RS 4n
581 591 Can be modified by the current process (requiring \fBsys_resource\fR privilege)
582 592 or by \fBprctl\fR(1) (requiring \fBproc_owner\fR privilege).
583 593 .RE
584 594
585 595 .sp
586 596 .ne 2
587 597 .na
588 598 \fB\fBsystem\fR\fR
589 599 .ad
590 600 .sp .6
591 601 .RS 4n
592 602 Fixed for the duration of the operating system instance.
593 603 .RE
594 604
595 605 .sp
596 606 .LP
597 607 A resource control is guaranteed to have one \fBsystem\fR value, which is
598 608 defined by the system, or resource provider. The \fBsystem\fR value represents
599 609 how much of the resource the current implementation of the operating system is
600 610 capable of providing.
601 611 .sp
602 612 .LP
603 613 Any number of privileged values can be defined, and only one basic value is
604 614 allowed. Operations that are performed without specifying a privilege value are
605 615 assigned a basic privilege by default.
606 616 .sp
607 617 .LP
608 618 The privilege level for a resource control value is defined in the privilege
609 619 field of the resource control block as \fBRCTL_BASIC\fR, \fBRCTL_PRIVILEGED\fR,
610 620 or \fBRCTL_SYSTEM\fR. See \fBsetrctl\fR(2) for more information. You can use
611 621 the \fBprctl\fR command to modify values that are associated with basic and
612 622 privileged levels.
613 623 .sp
614 624 .LP
615 625 In specifying the privilege level of \fBprivileged\fR, you can use the
616 626 abbreviation \fBpriv\fR. For example:
617 627 .sp
618 628 .in +2
619 629 .nf
620 630 task.max-lwps=(priv,1K,deny)
621 631 .fi
622 632 .in -2
623 633
624 634 .SS "Global and Local Actions on Resource Control Values"
625 635 .sp
626 636 .LP
627 637 There are two categories of actions on resource control values: global and
628 638 local.
629 639 .sp
630 640 .LP
631 641 Global actions apply to resource control values for every resource control on
632 642 the system. You can use \fBrctladm\fR(1M) to perform the following actions:
633 643 .RS +4
634 644 .TP
635 645 .ie t \(bu
636 646 .el o
637 647 Display the global state of active system resource controls.
638 648 .RE
639 649 .RS +4
640 650 .TP
641 651 .ie t \(bu
642 652 .el o
643 653 Set global logging actions.
644 654 .RE
645 655 .sp
646 656 .LP
647 657 You can disable or enable the global logging action on resource controls. You
648 658 can set the \fBsyslog\fR action to a specific degree by assigning a severity
649 659 level, \fBsyslog=\fR\fIlevel\fR. The possible settings for \fIlevel\fR are as
650 660 follows:
651 661 .RS +4
652 662 .TP
653 663 .ie t \(bu
654 664 .el o
655 665 \fBdebug\fR
656 666 .RE
657 667 .RS +4
658 668 .TP
659 669 .ie t \(bu
660 670 .el o
661 671 \fBinfo\fR
662 672 .RE
663 673 .RS +4
664 674 .TP
665 675 .ie t \(bu
666 676 .el o
667 677 \fBnotice\fR
668 678 .RE
669 679 .RS +4
670 680 .TP
671 681 .ie t \(bu
672 682 .el o
673 683 \fBwarning\fR
674 684 .RE
675 685 .RS +4
676 686 .TP
677 687 .ie t \(bu
678 688 .el o
679 689 \fBerr\fR
680 690 .RE
681 691 .RS +4
682 692 .TP
683 693 .ie t \(bu
684 694 .el o
685 695 \fBcrit\fR
686 696 .RE
687 697 .RS +4
688 698 .TP
689 699 .ie t \(bu
690 700 .el o
691 701 \fBalert\fR
692 702 .RE
693 703 .RS +4
694 704 .TP
695 705 .ie t \(bu
696 706 .el o
697 707 \fBemerg\fR
698 708 .RE
699 709 .sp
700 710 .LP
701 711 By default, there is no global logging of resource control violations.
702 712 .sp
703 713 .LP
704 714 Local actions are taken on a process that attempts to exceed the control value.
705 715 For each threshold value that is placed on a resource control, you can
706 716 associate one or more actions. There are three types of local actions:
707 717 \fBnone\fR, \fBdeny\fR, and \fBsignal=\fR. These three actions are used as
708 718 follows:
709 719 .sp
710 720 .ne 2
711 721 .na
712 722 \fB\fBnone\fR\fR
713 723 .ad
714 724 .sp .6
715 725 .RS 4n
716 726 No action is taken on resource requests for an amount that is greater than the
717 727 threshold. This action is useful for monitoring resource usage without
718 728 affecting the progress of applications. You can also enable a global message
719 729 that displays when the resource control is exceeded, while, at the same time,
720 730 the process exceeding the threshhold is not affected.
721 731 .RE
722 732
723 733 .sp
724 734 .ne 2
725 735 .na
726 736 \fB\fBdeny\fR\fR
727 737 .ad
728 738 .sp .6
729 739 .RS 4n
730 740 You can deny resource requests for an amount that is greater than the
731 741 threshold. For example, a \fBtask.max-lwps\fR resource control with action deny
732 742 causes a \fBfork()\fR system call to fail if the new process would exceed the
733 743 control value. See the \fBfork\fR(2).
734 744 .RE
735 745
736 746 .sp
737 747 .ne 2
738 748 .na
739 749 \fB\fBsignal=\fR\fR
740 750 .ad
741 751 .sp .6
742 752 .RS 4n
743 753 You can enable a global signal message action when the resource control is
744 754 exceeded. A signal is sent to the process when the threshold value is exceeded.
745 755 Additional signals are not sent if the process consumes additional resources.
746 756 Available signals are listed below.
747 757 .RE
748 758
749 759 .sp
750 760 .LP
751 761 Not all of the actions can be applied to every resource control. For example, a
752 762 process cannot exceed the number of CPU shares assigned to the project of which
753 763 it is a member. Therefore, a deny action is not allowed on the
754 764 \fBproject.cpu-shares\fR resource control.
755 765 .sp
756 766 .LP
757 767 Due to implementation restrictions, the global properties of each control can
758 768 restrict the range of available actions that can be set on the threshold value.
759 769 (See \fBrctladm\fR(1M).) A list of available signal actions is presented in the
760 770 following list. For additional information about signals, see
761 771 \fBsignal\fR(3HEAD).
762 772 .sp
763 773 .LP
764 774 The following are the signals available to resource control values:
765 775 .sp
766 776 .ne 2
767 777 .na
768 778 \fB\fBSIGABRT\fR\fR
769 779 .ad
770 780 .sp .6
771 781 .RS 4n
772 782 Terminate the process.
773 783 .RE
774 784
775 785 .sp
776 786 .ne 2
777 787 .na
778 788 \fB\fBSIGHUP\fR\fR
779 789 .ad
780 790 .sp .6
781 791 .RS 4n
782 792 Send a hangup signal. Occurs when carrier drops on an open line. Signal sent to
783 793 the process group that controls the terminal.
784 794 .RE
785 795
786 796 .sp
787 797 .ne 2
788 798 .na
789 799 \fB\fBSIGTERM\fR\fR
790 800 .ad
791 801 .sp .6
792 802 .RS 4n
793 803 Terminate the process. Termination signal sent by software.
794 804 .RE
795 805
796 806 .sp
797 807 .ne 2
798 808 .na
799 809 \fB\fBSIGKILL\fR\fR
800 810 .ad
801 811 .sp .6
802 812 .RS 4n
803 813 Terminate the process and kill the program.
804 814 .RE
805 815
806 816 .sp
807 817 .ne 2
808 818 .na
809 819 \fB\fBSIGSTOP\fR\fR
810 820 .ad
811 821 .sp .6
812 822 .RS 4n
813 823 Stop the process. Job control signal.
814 824 .RE
815 825
816 826 .sp
817 827 .ne 2
818 828 .na
819 829 \fB\fBSIGXRES\fR\fR
820 830 .ad
821 831 .sp .6
822 832 .RS 4n
823 833 Resource control limit exceeded. Generated by resource control facility.
824 834 .RE
825 835
826 836 .sp
827 837 .ne 2
828 838 .na
829 839 \fB\fBSIGXFSZ\fR\fR
830 840 .ad
831 841 .sp .6
832 842 .RS 4n
833 843 Terminate the process. File size limit exceeded. Available only to resource
834 844 controls with the \fBRCTL_GLOBAL_FILE_SIZE\fR property
835 845 (\fBprocess.max-file-size\fR). See \fBrctlblk_set_value\fR(3C).
836 846 .RE
837 847
838 848 .sp
839 849 .ne 2
840 850 .na
841 851 \fB\fBSIGXCPU\fR\fR
842 852 .ad
843 853 .sp .6
844 854 .RS 4n
845 855 Terminate the process. CPU time limit exceeded. Available only to resource
846 856 controls with the \fBRCTL_GLOBAL_CPUTIME\fR property
847 857 (\fBprocess.max-cpu-time\fR). See \fBrctlblk_set_value\fR(3C).
848 858 .RE
849 859
850 860 .SS "Resource Control Flags and Properties"
851 861 .sp
852 862 .LP
853 863 Each resource control on the system has a certain set of associated properties.
854 864 This set of properties is defined as a set of flags, which are associated with
855 865 all controlled instances of that resource. Global flags cannot be modified, but
856 866 the flags can be retrieved by using either \fBrctladm\fR(1M) or the
857 867 \fBsetrctl\fR(2) system call.
858 868 .sp
859 869 .LP
860 870 Local flags define the default behavior and configuration for a specific
861 871 threshold value of that resource control on a specific process or process
862 872 collective. The local flags for one threshold value do not affect the behavior
863 873 of other defined threshold values for the same resource control. However, the
864 874 global flags affect the behavior for every value associated with a particular
865 875 control. Local flags can be modified, within the constraints supplied by their
866 876 corresponding global flags, by the \fBprctl\fR command or the \fBsetrctl\fR
867 877 system call. See \fBsetrctl\fR(2).
868 878 .sp
869 879 .LP
870 880 For the complete list of local flags, global flags, and their definitions, see
871 881 \fBrctlblk_set_value\fR(3C).
872 882 .sp
873 883 .LP
874 884 To determine system behavior when a threshold value for a particular resource
875 885 control is reached, use \fBrctladm\fR to display the global flags for the
876 886 resource control . For example, to display the values for
877 887 \fBprocess.max-cpu-time\fR, enter:
878 888 .sp
879 889 .in +2
880 890 .nf
881 891 $ rctladm process.max-cpu-time
882 892 process.max-cpu-time syslog=off [ lowerable no-deny cpu-time inf seconds ]
883 893 .fi
884 894 .in -2
885 895
886 896 .sp
887 897 .LP
888 898 The global flags indicate the following:
889 899 .sp
890 900 .ne 2
891 901 .na
892 902 \fB\fBlowerable\fR\fR
893 903 .ad
894 904 .sp .6
895 905 .RS 4n
896 906 Superuser privileges are not required to lower the privileged values for this
897 907 control.
898 908 .RE
899 909
900 910 .sp
901 911 .ne 2
902 912 .na
903 913 \fB\fBno-deny\fR\fR
904 914 .ad
905 915 .sp .6
906 916 .RS 4n
907 917 Even when threshold values are exceeded, access to the resource is never
908 918 denied.
909 919 .RE
910 920
911 921 .sp
912 922 .ne 2
913 923 .na
914 924 \fB\fBcpu-time\fR\fR
915 925 .ad
916 926 .sp .6
917 927 .RS 4n
918 928 \fBSIGXCPU\fR is available to be sent when threshold values of this resource
919 929 are reached.
920 930 .RE
921 931
922 932 .sp
923 933 .ne 2
924 934 .na
925 935 \fB\fBseconds\fR\fR
926 936 .ad
927 937 .sp .6
928 938 .RS 4n
929 939 The time value for the resource control.
930 940 .RE
931 941
932 942 .sp
933 943 .LP
934 944 Use the \fBprctl\fR command to display local values and actions for the
935 945 resource control. For example:
936 946 .sp
937 947 .in +2
938 948 .nf
939 949 $ prctl -n process.max-cpu-time $$
940 950 process 353939: -ksh
941 951 NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
942 952 process.max-cpu-time
943 953 privileged 18.4Es inf signal=XCPU -
944 954 system 18.4Es inf none
945 955 .fi
946 956 .in -2
947 957
948 958 .sp
949 959 .LP
950 960 The \fBmax\fR (\fBRCTL_LOCAL_MAXIMAL\fR) flag is set for both threshold values,
951 961 and the \fBinf\fR (\fBRCTL_GLOBAL_INFINITE\fR) flag is defined for this
952 962 resource control. An \fBinf\fR value has an infinite quantity. The value is
953 963 never enforced. Hence, as configured, both threshold quantities represent
954 964 infinite values that are never exceeded.
955 965 .SS "Resource Control Enforcement"
956 966 .sp
957 967 .LP
958 968 More than one resource control can exist on a resource. A resource control can
959 969 exist at each containment level in the process model. If resource controls are
960 970 active on the same resource at different container levels, the smallest
961 971 container's control is enforced first. Thus, action is taken on
962 972 \fBprocess.max-cpu-time\fR before \fBtask.max-cpu-time\fR if both controls are
963 973 encountered simultaneously.
964 974 .SH ATTRIBUTES
965 975 .sp
966 976 .LP
967 977 See \fBattributes\fR(5) for a description of the following attributes:
968 978 .sp
969 979
970 980 .sp
971 981 .TS
972 982 box;
973 983 c | c
974 984 l | l .
975 985 ATTRIBUTE TYPE ATTRIBUTE VALUE
976 986 _
977 987 Interface Stability Evolving
978 988 .TE
979 989
980 990 .SH SEE ALSO
981 991 .sp
982 992 .LP
983 993 \fBprctl\fR(1), \fBpooladm\fR(1M), \fBpoolcfg\fR(1M), \fBprojadd\fR(1M),
984 994 \fBprojmod\fR(1M), \fBrctladm\fR(1M), \fBsetrctl\fR(2),
985 995 \fBrctlblk_set_value\fR(3C), \fBlibpool\fR(3LIB), \fBproject\fR(4),
986 996 \fBattributes\fR(5), \fBFSS\fR(7)
987 997 .sp
988 998 .LP
989 999 \fISystem Administration Guide: Virtualization Using the Solaris Operating
990 1000 System\fR
↓ open down ↓ |
807 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX